spring mvc 启动时使用@PostConstruct注解调用初始化方法

  • A+
所属分类:java

在使用spring mvc 时,经常需要在启动时做一些初始化工作。有两种方法可以实现。

第一种,使用servlet 。在web.xml 注册servlet,在servlet里重载init方法做初始化。

         <servlet>
		<servlet-name>initialization</servlet-name>
		<servlet-class>
			com.xx.xx.common.Initialization
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
public class Initialization extends HttpServlet
{
    private static final long serialVersionUID = 1L;

    private static Runlog runLog = LogFactory.getRunlog();

    private String rootPath = Initialization.class.getResource("/").getPath();;

    /**
     * 工程初始化方法
     */
    public void init(ServletConfig config)
        throws ServletException
    {
        //初始化日志系统
        initLog4j();
        // 初始化微信响应消息的模板文件
        initRspFile();
        // 初始化微信提示语properties文件
        initPromptProperties();
    }
}

第二种方法。是使用springmvc的 @PostConstruct 注解进行初始化。类使用@Service或者@Component,方法使用@PostConstruct注解。只要在方法里完成你要初始化的动作即可。

@Component
public class SysCache
{
    private String rootPath = ConstructRsp.class.getResource("/").getPath();
    private  Map<String, String> rspTemplates = new HashMap<String, String>();
    public  Map<String, List<String>> user_secret =new HashMap<String, List<String>>();
    public Map<String, String> appid_user = new HashMap<String, String>();

    @PostConstruct
    public void init()
    {
        initRspFile();
        initAppid_secret();
        initAppid_user();
    }
}



  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: