0

サーバーの起動時にロードされたプロパティを表示する方法を知っている人はいますか(リスナーなどを介して)。

これは私が持っているものです:

1-構成パラメーターを含むproject.propertiesという名前のファイル。

2- ...Spring によって以下がロードされます。

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

3-宣言されたプロパティを読み取ってログに記録するのに適切な場所であると思われる1つのリスナー。

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 に答える