美文网首页
spring和springBoot

spring和springBoot

作者: o_O小薯条 | 来源:发表于2024-05-07 13:15 被阅读0次
    • Spring 和 Spring Boot 的自动装配都是为了简化应用程序的配置和管理,但它们在具体实现上有显著的区别:
      Spring 自动装配: 在传统的 Spring 框架中,自动装配是通过 XML 配置文件或基于注解的方式实现的。主要有以下几种形式:
    • XML配置:
      我们可以在 XML 配置文件中声明 Bean 之间的依赖关系,Spring 会自动创建并注入所需的 Bean 实例。
    • 例如:
         <bean id="exampleBean" class="com.example.ExampleClass">
             <property name="dependency" ref="anotherBean"/>
         </bean>
    
    • @Autowired 注解:
      自从 Spring 2.5 引入了 @Autowired 注解,我们可以直接在类的字段或方法上使用它,Spring 会自动寻找合适的依赖并注入。
    • 例如:
         public class ExampleClass {
             @Autowired
             private AnotherClass dependency;
         }
    
    • @Component 注解和 Component Scanning:
      Spring 通过 @Component(及其衍生注解如 @Service, @Repository, @Controller)标记类,配合组件扫描(Component Scanning)来自动发现和注册 Bean。
    • Spring Boot 自动装配: Spring Boot 采用了“约定优于配置”的原则,进一步简化了配置过程。它基于 Spring 的自动装配,但增加了许多预配置的组件和默认设置。Spring Boot 的自动装配主要体现在以下几个方面:
    • ** starters**:
      Spring Boot 使用一系列的“starters”(如 spring-boot-starter-web, spring-boot-starter-data-jpa 等),这些 starters 包含了与特定功能相关的依赖,我们只需在 pom.xml 或 build.gradle 中添加对应的 starter,Spring Boot 就会自动配置相关组件。
    • 自动配置类(Auto Configuration):
      Spring Boot 根据项目中存在的依赖,自动配置相应的 Bean。例如,如果检测到 spring-boot-starter-web,它会自动配置 Tomcat 服务器和 MVC 框架。
    • 属性配置:
      通过 application.properties 或 application.yml 文件,我们可以轻松地覆盖默认配置,实现定制化。
    • @EnableAutoConfiguration:
      在主类上使用 @SpringBootApplication 注解(它包含了 @EnableAutoConfiguration),Spring Boot 就会启动自动配置过程。
    • 智能提示:
      Spring Boot 提供了智能提示,例如,如果在类路径下发现了特定的类(如 DataSource),它会自动配置数据库连接。
      总结来说,Spring 的自动装配是基础,Spring Boot 的自动装配在此基础上进行了扩展和强化,使得开发更加便捷,减少了大量手动配置的工作。

    相关文章

      网友评论

          本文标题:spring和springBoot

          本文链接:https://www.haomeiwen.com/subject/negrfjtx.html