一、IOC注解
1.多spring配置文件的使用
2.使用XMl配置进行配置(推荐使用xml配置加注解组合使用)
第一步、要使用注解,需导入aop包
第二步、在配置文件头部加入context的schema
第三步、使用注解,@Component 注解
3.实用配置类进行配置
一、1.不使用@Bean注解,首行加入Componentscan(“org.lanqiao.dao”),@Configuration,扫描该层的所有注解,并将扫描到的注入IOC容器中
2.在需要被扫描的加入到IOC的对象上加上对应的注解
@Component 注解
@Repository, 专门注解到dao层
@Service, 专门注解到service层
@Controller 专门注解到controller层
二、1.使用@Bean注解,首行加入 @Configuration,并在配置类中编写代码,获得需要配置的对象
4.DI注入的两种方式
一、使用xml的属性注入
1.Service层与Dao层的连接,在Service层中创建一个Dao对象,并写出set方法
二、使用注解注入(配置类中)
1.@ComponentScan({“dao”,“service”}),@Configuration原理同 三.2 ,将Bean加载到IOC容器中。
额外:
1.在xml属性注入,写set方法的时候,@Autowired 等价于byType,按类型进行注入,优先查找类型,类型匹配不成功或有多个,继续按 名称进行查找。
2.@Autowired(required=true) true:必须能注入值进来,默认的,在ioc容器找不到匹配就会抛异常,false:在ioc容器找不到的时候注入null进来,不会抛异常
3.@Qualifier(“studentDao2”)//byName
4.@Primary 设置主要类,当ioc容器中调用@autowire自动注入时,因按类型匹配注入,当出现多个同一类型的bean时,优先选择设置了@primary的bean,而不会报错
5.@Value 基本值的注入
6.注解方式导入属性文件<context:property-placeholder location=“jdbc.pror”></ontext:property-placeholder>
7.@PostConstruct, 注解到方法上
@PreDestroy 注解到方法上
8.配置类中导入xml的配置文件:ImportRespource(“classpath:ac.xml”)
思考:IOC和DI相比传统的方式如何实现解耦的