Spring开发Web项目:
web项目如何初始化SpringIOC容器?
- 思路:当服务启动时(Tomcat),通过监听器将SpringIOC容器初始化一次,这样就不需要当别的文件需要引用的时候再重新 new 一次,省去了许多麻烦;即启动web项目时就将IOC容器初始化,这里需要一个监听器,监听Tomcat是否启动,一旦启动立即实例化一个IOC对象;(该监听器spring-web.jar 已经提供,不需要自己写)
- web项目启动时,会自动加载 web.xml 此需要在web.xml 中加载监听器(ioc容器初始化);
范例:加载监听器
范例:告知监听器此容器的位置
补充:初始化IOC容器( applicationContext.xml)两种方式:
- 告诉监听器此容器的位置:通过context-param标签告知位置
- 默认约定的位置:WEB-INF目录下的applicationContext.xml是其默认位置
拆分Sping配置文件:
- 普通Java项目:
项目名称:applicationContext.xml
加载项目:ApplicationContext context=new ClassPathApplication("applicationContext.xml");
要哪个项目就加载哪个项目;
- web项目:2种方式进行拆分
方式一:按照三层结构拆分:
UI(前台html/css/jsp、后台Servlet) 可以将 Servlet 放到 applicationController.xml
Service:applicationContext.xml;
Dao:applicationDao.xml;
公共数据库:applicationDB.xml;
方式二:按照功能结构拆分:
学生相关配置:applicationContextStudent.xml;
班级相关配置:applicationContextClass.xml;
合并:如何将多个配置文件加载?
- 方法1:写多个classpath中间用逗号隔开;
- 方法2(推荐):写两个classpath,其中第2个classpath里面的名称用-*代替后缀;
- 方法3:在头文件前面加上<import resource="...xml">
而在web.xml文件中只写一个applicationContext.xml