0

有人知道如何显示服务器启动时加载的属性(通过一些监听器或类似的东西)?

这就是我所拥有的:

1- 一个名为project.properties的文件,其中包含配置参数。

2- ...由 Spring 加载:

<context:property-placeholder location="WEB-INF/project.properties" />

3- 我认为一个监听器可能是读取声明的属性并记录它们的合适位置。

public class StartListener implements ServletContextListener {

    Logger logger = LoggerFactory.getLogger(this.getClass().getName()); 

    public void contextInitialized(ServletContextEvent sce) {
        //Here read the properties and do the logging of it
    }
//...   
}

任何帮助将不胜感激。

4

2 回答 2

1

根据我的说法,您需要做的是在服务器启动时您想要记录一些属性。

要实现这一点,首先需要在 dispatcher-servlet.xml 文件中添加以下行。

<context:annotation-config />

然后在您想要加载属性并记录它们的任何方法之上使用@PostConstruct注释。您可以在应用程序的任何控制器或服务类中执行此操作。

当您执行此操作时,spring 将自动检测此注释,并且每当它完成加载应用程序时,它将调用此函数并执行您在此处描述的任何操作。

希望这对您有所帮助。

干杯。

于 2012-05-26T05:53:49.070 回答
0

谢谢,但最后,我将在听众中做到这一点:

public class StartListener implements ServletContextListener {

    Logger logger = LoggerFactory.getLogger(this.getClass().getName()); 

    public void contextInitialized(ServletContextEvent sce) {
        ServletContext sc = sce.getServletContext();

        Properties props = new Properties();
        try {
            props.load(sc.getResourceAsStream("/WEB-INF/project.properties"));
            logger.info(props.entrySet().toString());
        } catch (Exception e) {
            logger.error("......");
        }
    }

    //...

}
于 2012-05-26T15:58:37.950 回答