Spring Boot相对于Spring框架而言,引入了一些特有的注解来简化配置、自动装配组件和实现声明式服务。以下是一些Spring Boot相对于Spring框架特有的主要注解:
-
@SpringBootApplication:
- 作用:标注一个主程序类,表明这是一个Spring Boot应用程序的入口。
- 功能:这是一个复合注解,组合了@Configuration、@EnableAutoConfiguration和@ComponentScan的功能。
- @Configuration:标识一个类作为配置类,类似于Spring XML配置文件。
- @EnableAutoConfiguration:启用Spring Boot的自动配置机制,根据项目中的依赖和应用上下文自动配置Spring应用程序。
- @ComponentScan:自动扫描指定包及其子包中的Spring组件。
-
@EnableAutoConfiguration:
- 作用:启用Spring Boot的自动配置机制,根据项目中的依赖和应用上下文自动配置Spring应用程序。
- 细节:该注解会尝试根据添加的依赖和项目中的配置自动配置Spring Bean。例如,如果项目中有HSQLDB的依赖,Spring Boot会自动配置一个内存数据库。
-
@ConfigurationProperties:
- 作用:用于将配置属性绑定到一个Bean上。通过在application.properties或application.yml文件中定义的属性值,可以自动将这些属性注入到对应的Bean的属性中。
-
@Conditional:
- 作用:通过实现Condition接口,并重写matches方法,从而决定该bean是否被实例化。
此外,Spring Boot还引入了一些与Spring框架共有的,但在使用上更为简化和广泛的注解,如:
- @ComponentScan:指定要扫描的包,以便发现和注册Spring组件。默认情况下,@ComponentScan会扫描主应用类所在的包及其子包。
- @Component:泛指组件,当组件不好归类时,可以使用这个注解进行标注。在Spring中,@Controller、@Service、@Repository都可以称为@Component的特化,分别用于控制层、业务层和数据访问层的组件标注。
- @Bean:标注在方法上,声明当前方法的返回值为一个bean,等价于Spring的xml配置文件,用于注册bean对象。
- @Autowired:自动导入依赖的bean,按照类型匹配进行自动装配,可以对类成员变量、方法及构造函数进行标注。当找不到对应的bean时,可以通过设置required=false来避免报错。
- @Value:用于注入外部配置参数、操作系统属性、表达式结果、其他bean属性、文件资源、网站资源等。
这些注解共同构成了Spring Boot的注解体系,使得Spring Boot应用程序的开发和配置更加简便和高效。
总的来说,Spring Boot的注解体系在Spring的基础上进行了扩展和优化,提供了更多用于简化配置、自动装配和实现声明式服务的注解。这些注解的引入使得Spring Boot应用程序的开发和部署更加便捷和高效。