web项目启动时 初始化加载系统参数 获取无法自动注入的服务

在web.xml里面配置监听 项目启动时 直接初始化上下文

<listener>
        <display-name>init</display-name>
        <listener-class>com.james.amy.impl.listener.InitListener</listener-class>
    </listener>

监听类 实现  ServletContextListener 重写  contextInitialized 方法

关键点:获取bean 

方法1:

 ApplicationContext  context=
WebApplicationContextUtils.getRequiredWebApplicationContext(servletContextEvent.getServletContext());

 SysParamMapper sysParamMapper=(SysParamMapper) context.getBean("sysParamMapper");

方法2:

ContextLoader.getCurrentWebApplicationContext().getBean("pokerRoomService");

扫描时启动一个类的方法:<!--     <bean id="websocketServer" class="com.softisland.jc.poker.socket.WebSocketServer"  init-method="start" >
    </bean> -->

转载于:https://my.oschina.net/jamescasta/blog/731223

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaWeb项目,可以通过配置自动加载一些、资源或者初始化一些操作。以下是几种常见的自动加载方式: 1. Servlet容器自动加载:在web.xml文件配置servlet的初始化参数,可以设置servlet在容器启动时自动加载。例如: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> ``` 上述配置,load-on-startup设置为1表示在容器启动时加载该servlet。 2. ServletContextListener:实现javax.servlet.ServletContextListener接口,可以监听ServletContext的创建和销毁事件,在其执行一些初始化或清理操作。例如: ```java public class MyServletContextListener implements ServletContextListener { public void contextInitialized(ServletContextEvent event) { // 在容器启动时执行的初始化操作 } public void contextDestroyed(ServletContextEvent event) { // 在容器销毁执行的清理操作 } } ``` 在web.xml配置监听器: ```xml <listener> <listener-class>com.example.MyServletContextListener</listener-class> </listener> ``` 3. Spring框架的自动加载:在Spring配置文件可以使用`<context:component-scan>`标签扫描指定包下的,并自动进行实例化和注入。例如: ```xml <context:component-scan base-package="com.example" /> ``` 上述配置会自动扫描com.example包下的,并将其纳入Spring容器管理。 这些是常见的自动加载方式,根据实际需求选择适合的方式来进行自动加载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值