井
我们有一个类似的场景,将现有的泽西岛 Web 服务应用配置为使用 Spring 进行依赖关系注入。我们的泽西岛网络应用程序扩展了ContextLoaderListener,如下所示
public class XServletContextListener extends ContextLoaderListener {
...
@Override
public void contextInitialized(ServletContextEvent arg0) {
super.contextInitialized(arg0);
....
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
super.contextDestroyed(arg0);
....
}
}
其中 ContextLoaderListener 是
import org.springframework.web.context.ContextLoaderListener;
我们将泽西-弹簧桥与所有弹簧依赖关系(包括 applicationContext)包括在内.xml如下所示
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="com.xxx.*" />
....
....
</beans>
显然需要确保XServletContextListener包含在Web中.xml如下所示
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>com.xxx.**.XServletContextListener</listener-class>
</listener>
其次是 servlet 及其 init-param 值和 servlet 映射。您显然可以采用注释配置来代替 xml confib,在这种情况下,您需要使用 WebListener 注释。
我们使用各种注释,例如
@Component for objects
@Service for services
@Repository for DAOs
@Controller for controllers/resources
@ContextConfiguration for tests
一切都由Spring框架加载和自动连接。