Spring学习笔记5_Spring注解配置Bean
1.完成bean注册操作 2.属性依赖注入 3.其他注解 4.Spring在web中开发应用 5.Spring整合junit 提示:点击文章底部的“阅读原文”查看以前所有的笔记
1. 完成 bean 注册操作
@Component
测试时报错
原因:如果你使用的是 spring3.x 那么不会出现这个错误,如果使用的是 spring4.x 会报错,原因是缺少 jar 包。
导入 jar 后运行还有错误
我们在 applicationContext.xml 文件中使用了一个标签 <context:annotation-config />,它代表
的是可以使用 spring 的注解,但是我们在类上添加的注解,spring 不知道位置。
要解决这个问题,我们可以使用<context:component-sacn base-package=””>
在 spring2.5 后为@Component 添加了三个衍生的注解
@Rpository 用于 DAO 层
@Service 用于 service 层
@Controller 用于表现层
对于我们的 bean 所处在的位置可以选择上述三个注解来应用,如果你的 bean 不明确位置,
就可以使用@Component.
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
2. 属性依赖注入
2. 复杂的属性注入
注意:如果要扫描多个包下的注解可以写成以下:
或
注意:@Value @Autowired 它们可以修饰属性,也可以修饰 setter 方法,如果写在属性上,就不需要提供 setter 方法。
@Autowired 它默认是根据类型进行注入。
如果与@Qualifier 一起使用,就可以根据名称来进行注入。
我们也可以使用下面的方式来根据名称进行属性注入
3.其它注解
@Scope 它以描述 bean 的作用域。
它相当于 init-method=”myInit
它相当于是 destroy-method=”myDestroy”
注意:对于销毁的方法它只对 bean 的 scope=singleton 有效。
4、 Spring 在 web 开发中应用
1.,在 web 项目中要使用 spring 需要导入一个 jar 包
2.在 web.xml 文件中配置 Listener
这个 ContextLoaderListener 它实现了 ServletContextListener
在这个 listener 中,当服务器启动时,将 ApplicationContext 对象,其实是它的一个实现类WebApplicationContext,对象存入到了 ServletContext 中。
3.我们还需要在 web.xml 文件中配置 applicationContext.xml 文件的位置
默认情况下会在 WEB-INF 目录 下查找 applicationContext.xmls
如果 applicationContext.xml 文件不是在默认位置,我们可以在 web.xml 文件中配置
Classpath:applicationContext.xml 它代表的是在当前工程的类路径下(可以理解成是在 src)下来查找 applicationContext.xml 文件。
contextConfigLocation 它是在 listener 中声明的一个常量,描述的就是 spring 配置文件的位置。
5、 Spring 整合 Junit
Spring 整合 junit4 可以方便我们的测试。
1. 需要导入一个 spring-test.jar 包
2. 可以在测试类上如下操作