SpringBoot IOC
2023-09-12 09:40:33 3 举报
SpringBoot IOC
作者其他创作
大纲/内容
JdbcTemplate
中介
注册
@SpringBootApplicationmain()
@Compomnent @Configuration @SpringBootConfiguration
默认:扫描这个注解所在类的同层的文件 同层文件夹 同层的子文件夹
@EnbaleAutoConfiguration
2第三方对象注册 IOC容器- 包扫描不到- 没有 @Component 类似注解开发者自己写个配置类@Configuration + @Bean
Service
getBean(类型)@Auowrired
META-INF/spring.factories
IOC
@Configurationpublic class UserDaoXXXConfig { //xxx.work.username = tom @Value(\"${xxx.work.username}\") //调用setUsername private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Bean UserDaoXXX userDaoXXX() { return new UserDaoXXX(); } @Bean BookDaoXXX bookDaoXXX() { System.out.println(\"username=\" + username); return new BookDaoXXX(); }}
Dao
XxxAutoConfigration
1. Javaweb new DAO new Controller 生产者 和 消费者
@ComponetScan
getBean(ID)@Resource
3第三方对象自动注册 IOC容器 -由第三方或Spring写个自动配置类 - XxxAutoConfigration @Configuration + @Bean @EnableConfigurationProperties - 开发者项目扫描不到,POM.xml 有 Jar 要求 Jar META-INF/spring.factories 指明 自动装配类的全称 Class.forName(自动装配类的全称) -main 所在类 @SpringBootApplication @EnableAutoConfigration 读取 Spring.factories
1把开发者写对象注册 IOC容器DAO Service COntrooler@Compoent@Controller @Service @Repository
@SpringBootConfiguration
@Controllerpublic class ClzController { @Autowired JdbcTemplate jdbcTemplate;
Controller@Autowired
开发者必须把自身对象注册到 IOC才能注入 IOC 里面其他对象
@Import@Import({AutoConfigurationImportSelector.class})
没有IOC开发者
收藏
0 条评论
回复 删除
下一页