需要在项目启动的时候从数据库读取一些配置信息
可是在web.xml中配置启动的servlet如何能在Spring jdbcTemplate还没启动的时候就读取数据库呢?
求解

解决方案 »

  1.   

    这个挺简单的。
    web.xml中
    <servlet>
    <servlet-name>t1</servlet-name>
    <servlet-class>com.abc.test.T1</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>  <load-on-startup>标记web容器是否在启动的时候就加载这个servlet,当值为0或者大于0时,表示web容器在应用启动时就加载这个servlet;当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载;百度一下,应该挺多的。正数的值越小,启动该servlet的优先级越高。
      

  2.   

    +10086
    用spring的话,可以定义一个bean,在tomcat启动的时加载该bean来初始化。
    web.xml 的加载顺序是:ServletContext -> context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。
    你可以把jdbc配置在context-param中,这样servlet初始化的时候就可以获取数据库配置
      

  3.   

    "在Spring jdbcTemplate还没启动的时候就读取数据库呢"
    这句话不理解
      

  4.   

    <bean id="initLoader" lazy-init="false" class="your.class" init-method="init"/>
    具体业务逻辑在class中的init方法中实现。