WEB项目,tomcat启动就加载数据至内存

1.需求场景

tomcat一运行,实现将指定数据初始化至内存空间。

2.项目环境

Spring spring mvc mybatis

3.实现方法

(1)web-context.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<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"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/task
        http://www.springframework.org/schema/task/spring-task-3.2.xsd">
    
    <!-- 启动扫描xxxx下所有的controller --> 
	 <context:component-scan base-package="xxx.xxx"/>
	 <mvc:annotation-driven/>
	<mvc:default-servlet-handler/>
	<!-- 定时任务注解 -->
	<task:annotation-driven />
	 其他略………… 视图解析器配置 文件上传配置 统一异常配置  拦截器配置.........
</beans>

(2)web.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 version="2.5">
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    		classpath:spring-context.xml//数据源以及事务配置
    	</param-value>
  </context-param>
  
  <!-- 监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <!-- spring mvc 分发servlet -->
  <servlet>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
    	classpath:web-context.xml  //不能配置在ContextLoaderListener上面,不然会初始化两次
    	</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

(3)初始化加载方法(service层)

@Service("LoadInitService")
public class LoadInitServiceImpl implements LoadInitService {
  
  @PostConstruct
	public void initLoadDB(){
		 //数据库查询,等等......
	}
	
	}
阅读更多
文章标签: ssm 初始化
个人分类: SSH/SSM
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭