首先众所周知,将spring作为容器管理java的web项目的话,首先要将
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener/listener-class>
</listener>
1、contextConfigLocation这个contextParam
配置这个参数会让应用启动时,加载这个参数来读取spring配置文件,如果没有设置这个参数,spring会默认读取WEB-INF下面的applicationContext.xml,
如果该目下没有,则启动应用会报错如下错误:IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml] nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
2、listener配置
这个listener能监听能捕捉到服务器的启动和停止,在启动和停止触发里面的方法做相应的操作!
它必须在web.xml 中配置才能使用,是配置监听类的。然后应用会走contextInitialized的方法,这边ContextLoaderListener是实现的ServletContextListener的接口这个是servlet-api里面的接口,这边我们也可以自己继承ContextLoaderListener来对容器的初始化,定义我们自己的内容
只要配置好如上两个配置项,我们的web容器就是能正常工作,然而并没有bean被加入管理
3、applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置一个singleton Bean实例:默认 -->
<bean id="bean1" class="com.mytest.beans.Beans1" >
<property name="name" value="123"></property>
</bean>
<!-- 配置一个prototype Bean实例 -->
<bean id="bean2" class="com.mytest.beans.Beans2" scope="prototype"/>
</beans>
如上是一个简单的spring容器配置文件的模板
这个配置文件在后面做详细更新,因为这边涉及到很多spring主要的bean容器的涉及思想