一个SpringApplication将尝试创建正确类型的 ApplicationContext 。默认会根据是否在开发一个web 应用使用AnnotationConfigApplicationContext 或AnnotationConfigEmbeddedWebApplicationContext 。决定使用web环境的算法其实是十分简单的(基于几个类的存在),想要覆盖这个默认机制可以使用setWebEnvironment(boolean
webEnvironment) 。
另外,也可以采取通过调用 setApplicationContextClass(…) 所使用的 ApplicationContext 的类型来完全控制。通常在JUnit测试中使用SpringApplication 时会调用setWebEnvironment(false) 。
添加项目参数 args1 234
新建注册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模式下运行
本文介绍SpringApplication如何根据项目特性选择合适的ApplicationContext类型,并演示了如何通过ApplicationArguments自定义启动参数及注册bean。
937

被折叠的 条评论
为什么被折叠?



