一个SpringApplication将尝试创建正确类型的 ApplicationContext 。默认会根据是否在开发一个web 应用使用AnnotationConfigApplicationContextAnnotationConfigEmbeddedWebApplicationContext 。决定使用web环境的算法其实是十分简单的(基于几个类的存在),想要覆盖这个默认机制可以使用setWebEnvironment(boolean webEnvironment)

另外,也可以采取通过调用 setApplicationContextClass(…​) 所使用的 ApplicationContext 的类型来完全控制。通常在JUnit测试中使用SpringApplication 时会调用setWebEnvironment(false)

添加项目参数 args1 234

23.6 23.7 Web environment Web环境变量读取

新建注册bean

@Component
public class MyBean {

    @Autowired
    public MyBean(ApplicationArguments args){
        boolean debug = args.containsOption("debug");
        List<String> files = args.getNonOptionArgs();
        // if run with "--debug logfile.txt" debug=true, files=["logfile.txt"]
    }
}


debug模式下运行

23.6 23.7 Web environment Web环境变量读取

相关文章: