springboot @Import注解
@Enable"底层依赖于@lmport注解导入一些类,使用@lmport导入的类会被Springh载到OC容器中。而@mport提供4中用法:
Import4中用法:
-
- 导入Bean
-
- 导入配置类
-
- 导入ImportSelector的实现类。
-
- 导入ImportBeanDefinitionRegistrar实现类
@SpringBootApplication
public class SpringbootEnableApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(SpringbootEnableApplication.class, args);
/*//获取Bean
Object user = context.getBean("user");
System.out.println(user);*/
/*User user = context.getBean(User.class);
System.out.println(user);
Role role = context.getBean(Role.class);
System.out.println(role);*/
/* Object user = context.getBean("user");
System.out.println(user);*/
Map<String, User> map = context.getBeansOfType(User.class);
System.out.println(map);
}
}
@EnableAutoConfiguration中使用的是第三种方式:@Import(AutoConfigurationImportSelector.class)
## **07-SpringBoot自动配置-@EnableAutoConfiguration详解**
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G1AODqWw-1629873719370)(img/1571387384701.png)]
- @EnableAutoConfiguration 注解内部使用 @Import(AutoConfigurationImportSelector.**class**)来加载配置类。
- 配置文件位置:META-INF/spring.factories,该配置文件中定义了大量的配置类,当 SpringBoot 应用启动时,会自动加载这些配置类,初始化Bean
- 并不是所有的Bean都会被初始化,在配置类中使用Condition来加载满足条件的Bean
## **08-SpringBoot自动配置-自定义starter步骤分析**
**需求:**自定义redis-starter。要求当导入redis坐标时,SpringBoot

本文探讨了Springboot中@Import注解的作用,它用于将导入的类加载到Spring容器中。@Import有四种用法:导入Bean、导入配置类、导入ImportSelector的实现类以及导入ImportBeanDefinitionRegistrar实现类。以@SpringBootApplication启动类为例,解释了如何配合@EnableAutoConfiguration进行应用初始化。同时,通过创建自定义的redis-spring-boot-autoconfigure配置工程,包括RedisProperties参数绑定类、RedisAutoConfiguration自动配置类,以及配置spring.factories文件,展示了如何在Springboot项目中引入并测试自定义starter。
最低0.47元/天 解锁文章
5546

被折叠的 条评论
为什么被折叠?



