2.2 集成Spring
在2.1节中,通过IntelliJ IDEA已经创建好Web项目,本节主要介绍如何在Web项目中集成Spring框架,具体如下:
首先,在springmvc-mybatis-book项目的pom文件中添加Spring相关的依赖,具体代码如下:
其次,在/src/main下创建resources目录并标记为resources,在resources目录下创建applicationContext.xml配置文件,具体代码如下:
-
<context:component-scan/>注解:
扫描base-package包或者子包下所有的Java类,并把匹配的Java类注册成Bean。这里我们设置扫描com.ay包下的所有Java类。
接着,在web.xml配置文件中添加如下代码:
-
<context-param>:
整个项目的全局变量,相当于设定了一个固定值。param-name是键,相当于参数名,param-value是值,相当于参数值。
-
ContextLoaderListener:
ContextLoaderListener监听器实现了ServletContextListener接口。其作用是启动Web容器时,自动装配ApplicationContext的配置信息。在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
最后,在src/main/test/com.ay.test目录下创建SpringTest测试类,具体代码如下:
-
@Service:
Spring会自动扫描到@Service注解的类,并把这些类纳入进Spring容器中管理。也可以用@Component注解,只是@Service注解更能表明该类是服务层类。
-
ApplicationContext容器:
ApplicationContext是Spring中较高级的容器,它可以加载配置文件中定义的Bean,并将所有的Bean集中在一起,当有请求的时候分配Bean。
最经常被使用的ApplicationContext接口实现如下:
-
ClassPathXmlApplicationContext:
从类路径ClassPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作,具体代码如下:
-
FileSystemXmlApplicationContext:
从指定的文件系统路径中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。具体代码如下:
-
XmlWebApplicationContext:
从Web应用中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。这是为Web工程量身定制的,使用WebApplicationContextUtils类的getRequiredWebApplicationContext方法可在JSP与Servlet中取得IOC容器的引用。
运行上面代码中的单元测试方法testSpring(),便可以在IntelliJ IDEA控制台看到如图2-6所示的结果,表示Web应用集成Spring框架成功。
图2-6 Web应用集成Spring框架
UtZ+qfyqaOMCaUNgPJ5TyMyLVX5tytlodn1xZCxXvA0zgHaPr2tcAJ3TzeygtXTM