高品质网站欣赏,佛山网站建设4-win方维,郑州知名网站建设公司排名,厦门网站建设方案书SpringBootApplication 详解
SpringBootApplication标识在Spring工程的引导启动类上#xff0c;是Spring最最最重要的注解#xff0c;封装了如下注解#xff1a;
SpringBootConfiguration#xff1a;底层封装了Configuration#xff0c;用于声明当前类也是一个配置类。E…SpringBootApplication 详解
SpringBootApplication标识在Spring工程的引导启动类上是Spring最最最重要的注解封装了如下注解
SpringBootConfiguration底层封装了Configuration用于声明当前类也是一个配置类。EnableAutoConfiguration自动配置的核心注解。 a. 封装了Import注解Import注解中指定了ImportSelector接口的实现类。 b. 这个实现类中实现了 ImportSelector 接口中的 selectImports() 方法返回值是一个String数组这个数组中封装的就是要导入到IOC容器的类的全类名。 c. selectImports() 方法中会读取两份配置文件并将配置文件中定义的配置类做为selectImports()方法的返回值返回返回值代表的就是需要将哪些类交给Spring的IOC容器进行管理。 d. Spring项目启动时就会去加载配置文件中配置的配置类将配置类的信息封装到String数组中最终通过import注解导入 ImportSelector接口的实现类从而将这些配置类全部加载到Spring的IOC容器中。
❓配置文件中定义了非常多的配置类每一个配置类中又定义了很多Bean所有的Bean都会注入到Spring 的IOC容器中吗 ✍️不是。配置类在生命 bean 的时候会添加 Conditional 条件装配注解及其衍生的一堆子注解。 按照一定的条件进行判断满足条件的时候才会将对应的bean对象注入到Spring的IOC容器中。
ComponentScan组件扫描默认扫描当前引导类所在的包及其子包。扫描 启动类所在的包及其子包下所有被Component及其衍生注解声明的类。