java - 如何让 Spring 打印出哪些 Spring 配置文件处于 Activity 状态?

我正在使用 spring 3.1 配置文件,并希望 Spring 在启动时打印出哪些配置文件处于 Activity 状态。例如日志文件中输出的前几行。

02:59:43,451 INFO  [ContextLoader] Root WebApplicationContext: initialization started
02:59:43,544 INFO  [XmlWebApplicationContext] Refreshing Root WebApplicationContext: startup date [Sun Dec 30 02:59:43 EST 2012]; root of context hierarchy
02:59:43,610 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [spring.xml]
02:59:43,835 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [spring-security.xml]
02:59:43,971 INFO  [SpringSecurityCoreVersion] You are running with Spring Security Core 3.1.3.RELEASE
02:59:43,971 INFO  [SecurityNamespaceHandler] Spring Security 'config' module version is 3.1.3.RELEASE

我想从 spring 中看到打印出正在使用的 spring 版本以及当前处于 Activity 状态的配置文件的东西。

如何让 spring 打印出它的版本以及哪些配置文件处于 Activity 状态?

最佳答案

实现 EnvironmentAware界面

例如

class MyEnvironmentAware implements EnvironmentAware{
    private static Environment env = null;

    @Override
    public void setEnvironment(Environment environment) {
            env = environment;
            //log the stuff you want here
     }
}

将此类标记为 Spring bean

只需注入(inject) Environment在您急切加载的 bean 中,并从中打印您需要的详细信息

喜欢

@Autowired
Environment env;

在你急切加载的 bean 中,并打印它

https://stackoverflow.com/questions/14089301/

相关文章:

java - 从 4.2.0.RC3 升级到 4.2.0.RELEASE 时出现 Spring As

java - Spring Security Configuration @Order 不是唯一异常

java - 处理一个 Spring bean/接口(interface)的多个实现

spring - 创建 ServletContext 资源中定义的名称为 'org.springfr

java - @Transactional(propagation=Propagation.REQU

spring - Java EE 和 Spring 框架的区别

spring - 如果我忘记将 Spring SessionStatus 标记为 "Complete

java - Spring根应用上下文和servlet上下文混淆

java - 我可以将来自 Maven 的属性(在 settings.xml 中定义的密码)注入(i

spring - 如何在 Spring Boot 中为文件上传指定临时目录?