springboot
1、@Bean注解
spring中的@Bean注解用于告诉方法,产生一个Bean对象,然后这个bean对象交给spring管理,产生这个bean对象的方法sping只会调用一次,随后spring将这个bean对象放在自己的IOC容器中。
springIOC容器管理一个或者多个bean对象,同时这些bean对象都需要在@Configuration注解的类中进行创建,在一个方法上使用@bean注解,表明该方法需要交给spring管理。
2、springboot的核心注解
@SpringBootApplication注解是springboot启动类上的一个核心注解,由三个注解组成:
(1)@SpringBootConfiguration:实现配置文件的功能。该注解是对@Configuration注解的简单封装。spring中的@configuration可以代替.xml配置文件,所有在.xml文件中的配置都可以在@configuration注解的类中进行注册
其中:@configuration注解中包含以下注解:
@bean注解:相当于.xml配置文件中的bean配置
(2)@ConponentScan:用来开启组件扫描,可以自动扫描指定包路径下的@Component注解类,然后将生成的bean对象注册到context中。
(3)@EnableAutoConfiguration :用于提供自动配置,在这三个注解中最重要的一个注解,是springboot新添加的一个注解。打开自动配置的功能,也可。以关闭某个自动配置的选项,如关闭数据源自动配置功能@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
这个@EnableAutoConfigration关键在于引入了AutoConfigurationImportSelector。其核心逻辑为selectImports方法:
从配置文件中加载所有可能用到的自动配置类
去重: 将exclud