ApplicationContext acx = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml");
最近刚学开spring+mybatis整合
请问这句话是要放在哪个层里面?
我是放在servlet里面的
还有就是每一个servlet里都要写这句话吗?
每个servlet使用后这个容器需要关闭吗?
这个一般用于测试吧在Junit单元测试中可以通过ClassPathXmlApplicationContext加载配置文件进行代码的测试
spring+mybatis整合,首先web.xml中引入spring的配置文件,然后在spring配置文件中引入mybatis的配置文件;
你这个是需要做本地测试,main方法中使用或者单元测试时使用的。
ClassPathXmlApplicationContext是spring容器的一种上下文,在测试时可以用到,如果想跑服务的话可以在web.xml里面配置上下文信息
配置如下
contextConfigLocation
classpath*:applicationContext-mybatis.xm
spring ioc可以自动注入?
其实你可以使用spring的标签注入,其实可以在里面注入你需要的数据库操作方法,然后在调用数据库需要的Servlet中写上你注入类的setting方法也可以使用
在web.xml里面加入spring的 listener 监听器, 然后每个servlet里面可以从servletContext里面获取 spring的容器,
在web.xml中,加入
<!-- spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-mybatis.xml</param-value>
</context-param>
<!-- 上下文监听器,用于加载配置文件 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
即可。