Spring学习笔记5_Spring注解配置Bean

本章目录

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. 属性依赖注入

  1. 简单的属性注入

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. 可以在测试类上如下操作

原文发布于微信公众号 - java学习(javaxxf)

原文发表时间:2018-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术墨客

Gradle使用速记 原

Gradle在安装之前可以选择很多安装方式,这里选择SDKMAN。其他方式见安装说明。

742
来自专栏大魏分享(微信公众号:david-share)

重点来了:事务一致性的深入研究&EJB的全生命周期 | 从开发角度看应用架构5

1264
来自专栏Java编程技术

Springboot模块分类

springboot可以依据classpath里面的依赖的内容来自动配置bean到IOC容器,但是要开启这个自动配置功能需要添加@EnableAutoConfi...

761
来自专栏浪淘沙

使用Jsp编写网页并实现数据库的增删改查

首先jsp 和Servlet语句基本一样,这里的实现需要用到上篇http://blog.csdn.net/qq_32539825/article/details...

1.8K4
来自专栏咖啡的代码人生

Log4j 1.2.17 使用

首先下载Log4j有关的jar包,虽然现在 Log4j更新到了2.0,但是和以前的1.X版本完全不兼容,所以今天我们还是先来使用1.X的版本,等时间再久一点,...

4099
来自专栏Petrichor的专栏

论.idea文件夹是干嘛的

python为什么每次创建的文件目录下都含 .idea/文件夹?该文件夹又是用来干嘛的?

7513
来自专栏数据之美

python 日志模块 logging 详解

Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j 类似。 Python ...

4197
来自专栏Linyb极客之路

使用Spring Boot实现模块化

3772
来自专栏猿天地

Spring Boot 使用WebAsyncTask异步返回结果

在Spring Boot中(Spring MVC)下请求默认都是同步的,一个请求过去到结束都是由一个线程负责的,很多时候为了能够提高吞吐量,需要将一些操作异步化...

3852
来自专栏hbbliyong

Spring Boot 设置静态资源访问

问题描述 当使用spring Boot来架设服务系统时,有时候也需要用到前端页面,当然就不可或缺地需要访问其他一些静态资源,比如图片、css、js等文件。那么如...

31910

扫码关注云+社区