当前位置: 首页 > wzjs >正文

建设网站 程序员的提成北京pk10盘制作网站建设

建设网站 程序员的提成,北京pk10盘制作网站建设,宁波专业网站建设公司,营销qq软件1. 定位与目标 Spring Framework 定位:一个以解耦和模块化为核心的企业级 Java 开发框架,提供 IOC(控制反转)、AOP(面向切面编程) 等基础功能。解决的问题:通过依赖注入和模块化设计简化复杂的企…

1. 定位与目标

  • Spring Framework

    • 定位:一个以解耦模块化为核心的企业级 Java 开发框架,提供 IOC(控制反转)、AOP(面向切面编程) 等基础功能。
    • 解决的问题:通过依赖注入和模块化设计简化复杂的企业应用开发。
    • 缺点:需手动配置 XML 或 Java 类,依赖管理和整合第三方库费时费力(例如集成 MySQL + Hibernate + Spring MVC)。
Spring 是一个“积木式”框架,按需选装不同模块:

image-20250227112134392

开发痛点
每个模块需单独引入并配置(如整合 Hibernate 需手动配置 SessionFactoryDataSource

  • Spring Boot

    • 定位:Spring 的上层扩展框架,目标是快速启动和简化配置。(“约定优于配置”)
    • 解决的问题:通过自动配置(Auto-Configuration)和 Starter 依赖包,让开发者无需关心繁琐的 XML 和依赖冲突。
    • 示例:引入 spring-boot-starter-web 后,自动集成 Tomcat、Jackson 和 Spring MVC,开发者只需专注于业务代码。
Spring Boot 在 Spring 基础上新增两个核心层:

image-20250227112900429

Starter 示例
使用 spring-boot-starter-data-jpa 会自动引入:

  • Hibernate(ORM 实现)
  • Spring Data JPA(DAO 抽象层)
  • 数据库驱动(如 MySQL Connector)

自动配置示例
当检测到 DataSource 配置存在且 Hibernate 在 Classpath 中时,Spring Boot 自动创建:

  • EntityManagerFactory
  • JpaTransactionManager

2. 核心差异

image-20250227111216407

3. 代码示例对比

1. Spring 开发流程

步骤 1:手动添加 Maven 依赖

<dependencies><!-- Spring Core --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><!-- Spring MVC --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><!-- Hibernate --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId></dependency>
</dependencies>

问题:需自解决依赖版本冲突。

步骤 2:配置 XML(或 Java Config)
applicationContext.xml → 配置包扫描、DataSourceSessionFactory、事务管理器、视图解析器等。

<!-- 手动配置 DataSource -->
<bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource"><property name="url" value="jdbc:mysql://localhost:3306/test"/><property name="username" value="root"/><property name="password" value="root"/>
</bean><!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"/>
</bean>

步骤 3:代码编写 → 冗余的模板配置

public class UserController {@Autowiredprivate UserService userService; // 需手动启用包扫描
}@Repository
public class UserDaoImpl implements UserDao {@Autowiredprivate SessionFactory sessionFactory; // 需在配置中声明 Bean
}
2. Spring Boot 开发流程

步骤 1:使用 Spring Initializr 勾选依赖

  • Spring Web
  • Spring Data JPA
  • MySQL Driver

步骤 2:application.yml → 极简配置

spring:datasource:url: jdbc:mysql://localhost:3306/testusername: rootpassword: rootjpa:hibernate:ddl-auto: update

步骤 3:直接编写业务代码

@RestController
public class UserController {@Autowiredprivate UserRepository userRepository; // 由 Spring Data JPA 自动创建实现类
}// Spring Data JPA 直接提供基础 CRUD 方法
public interface UserRepository extends JpaRepository<User, Long> { }

4.工作原理深度解析

1. Spring Boot 自动配置机制

Spring Boot 通过 条件注解(Conditional) 动态判断是否启用某些配置。

代码示例:Spring Boot 内嵌的 DataSourceAutoConfiguration

@Configuration
@ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) // 条件1:存在 DataSource 类
@ConditionalOnMissingBean(type = "io.r2dbc.spi.ConnectionFactory") // 条件2:无其他数据源配置
@EnableConfigurationProperties(DataSourceProperties.class) // 绑定配置到 DataSourceProperties
public class DataSourceAutoConfiguration {@Bean@ConditionalOnMissingBean(DataSource.class) // 条件3:用户未自定义 DataSourcepublic DataSource dataSource(DataSourceProperties properties) {return properties.initializeDataSourceBuilder().build(); // 创建 DataSource}
}

关键点

  • 仅在满足所有 @Conditional 条件时才会注册 DataSource Bean。
  • 如果用户已手动配置 DataSource@Bean),则跳过自动配置。
2. Spring Boot Starter 的工作流程

spring-boot-starter-web 为例,其内部逻辑:

  1. 引入 spring-webmvcspring-webtomcat-embed-core 等依赖。
  2. 触发 WebMvcAutoConfiguration → 自动配置 DispatcherServletViewResolver 等。
  3. 自动启用默认错误处理(BasicErrorController)、静态资源映射(/static 目录)。

4.如何选择?

适用场景对比

image-20250227140124823

技术选型决策树

是否需要快速启动项目?  ├── 是 → Spring Boot  └── 否 → 是否需要微服务/云原生部署?  ├── 是 → Spring Boot + Spring Cloud  └── 否 → Spring(如系统需与遗留框架深度集成)

5.学习路径与调试技巧

1. 学习路线规划
  • 第 1 阶段:掌握 Spring Core → 理解 IOC、AOP、Bean 生命周期。
  • 第 2 阶段:学习 Spring MVC → 手动搭建 Web 应用,配置拦截器、视图解析等。
  • 第 3 阶段:过渡到 Spring Boot → 熟悉自动配置原理、Starter 使用。
  • 第 4 阶段:深入高级主题 → Spring Boot 源码、自定义 Starter、健康检查与监控。
2. Spring Boot 调试技巧
  • 查看自动配置结果:在 application.properties 中添加 debug=true,启动时打印已启用的自动配置类。
  • 排除不需要的自动配置
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class MyApplication { ... }

分析 Bean 依赖关系:使用 IDEA 的 Diagram 工具查看 Bean 的依赖图。

总结

  • Spring 是基础:如汽车发动机,需要自行组装零件(手动配置)才能行驶。
  • Spring Boot 是完整车型:提供自动挡、导航系统(自动配置),适合快速上路。
  • 关联性:Spring Boot ≠ 取代 Spring,而是基于 Spring 构建的“开发者友好层”。
http://www.dtcms.com/wzjs/543751.html

相关文章:

  • 做网站4000-262-263网页代码
  • 官方网站的网络营销功能分析网站建设达到什么水平
  • 北京模板网站建设费用微指数官网
  • 网站栏目设置完整度建设宝安中心医院上班时间
  • 哈尔滨网页模板建站合肥正规制作网站公司
  • 广州建站模板平台剪辑培训
  • 网站名称可以是域名seo编辑招聘
  • 和创客贴类似的网站wordpress改变上传目录权限
  • 安徽省建设厅证书查询官方网站做淘宝客网站哪个好
  • 建站公司是外包吗网站后台编辑器控件下载
  • 温州网站关键词排名优化做网站是用什么技术的
  • 网站设计技术有哪些?网站域名解析
  • 上线了怎么建网站中国建筑工程网官网二建报名查询
  • 网站制作目的.net 网站关键字
  • 企业管理网站建设定制高端网站建设服务商
  • 做网站设计哪家好深圳燃气公司有哪些
  • 阿雷网站建设公司开发软件需要学什么专业
  • 国外网站不需要备案吗包装设计招聘
  • itc 做市场分析的网站网站301跳跳转
  • 政务公开网站建设要求网站导航上的图片做多大尺寸
  • 网站建设过程怎么利用网站上的图片
  • 首次建设网站流程图北京做公司网站的公司
  • 西安借贷购物网站建设松江新城网站建设
  • 滨州做网站的公司wordpress网站实现微信登录
  • wordpress简单易懂的网站做ui的网站
  • 网站不备案有什么影响谷歌推广技巧
  • 专业 网站设计公司价格html文件如何转wordpress
  • 西安博达网站建设咸阳网站建设多少钱
  • 龙游建设工程信息网站做境外网站
  • 怎么做淘宝客网站优化网网站建设的公司