一、DI的基本注解:
我们直接在实体类里为属性赋值,如果通过这种方式的话我们可以不使用getter和setter方法也不需要构造方法就可以达到赋值的目的,然后再 在xml文件也就是容器中简单配置,告诉系统如果找的话去哪里找
实体类
与@Component标签注解功能相同,意义不同的还有三个:
-
@Service 注解在Service类上
-
@Repository 注解在Dao类上
-
@Controller 注解在SprinMVC的处理器上
容器
其他三个标签的使用:
@Scope("singleton") 指定作用范围,单例模式,如果不写默认为单例
@Scope("prototype")指定作用范围,原型模式
@PostConstruct对象初始化完毕执行
@PreDestroy对象销毁前执行
scope
作用范围
注解注入与xml的优先级:xml优先级高,如果两个同时存在的话,xml的值会覆盖注解注入的值。
二、JavaConfig:
使用java类作为spring容器来关联bean的生命周期及bean之间的关系。我们把刚才的标签注入都删掉,创建一个类,用来充当容器,这个类的名字任意:
spring容器类
当然@Bean里还有一个destoryMethod表示销毁前执行,initMethod初始化刚结束执行
xml
三、Spring的Junit测试(掌握)
使用Spring的Junit测试,系统会自动创建容器。
导入jar包:spring-test-4.3.6.RELEASE.jar