SpringBoot 核心注解解析
@SpringBootApplication 组合注解 一个包含多个注解的注解式组合注解
@SpringBootApplication是三个注解的组合
- @ComponentScan
- @Configuration
- @EnableAutoConfiguration
@ComponentScan 组件扫描 相当于spring.xml中的 context:component-scan/
作用:包扫描
自定义扫描路径
@ComponentScan(basePackages = "com.baizhizhi.*")
@Configuration 把一个类标记为配置类 可以取代xml配置文件
之前使用spring配置bean 1.xml中bean标签 2.组件注解
spring 1.X xml配置 bean标签
spring 2.X 注解式 组件注解
- dao 及其以下 使用xml配置 数据源等 第三框架无法人为添加组件注解 所以需要使用xml配置
- service及其以上 使用注解式 通过注解+包扫描 把对象创建出来并且放在工厂中
spring 3.X 配置类 完全可以取代xml配置 可以实现通过注解+代码创建的对象
@Configuration 配置类 把被标记的类变成一个配置类 相当于spring.xml文件的Java代码写法
@Bean 相当于Bean标签
创建配置类的步骤
1. 类上添加@Configuration注解
2. 写方法 添加@Bean注解
@Configuration
public class TestConfig {
/**
* @Bean
* 1.添加在方法上
* 2.方法的返回值就是我们要交给工厂的对象
* 3.对象创建的过程程序员自己负责
*/
@Bean
public Animal getAnimal(){
//对象创建的过程程序员自己负责
return new Animal("cat");
}
}
结论:
@Configuration+@Bean 可以达到 spring.xml+bean标签的效果 成功的淘汰了xml配置
@Bean注解详解
- 添加在方法上
- 方法的返回值就是我们要交给工厂的对象
- 对象创建的过程程序员自己负责
- 交给工厂的对象名是方法名