0.修改pom打包方法为war,同时解除了内置的tomcat。
- <packaging>war</packaging>
- <!-- 解除内置的tomcat -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- <scope>compile</scope>
- </dependency>
- <!-- 若直接有行使servlet工具时(这是空话,⊙﹏⊙‖∣),必要将servlet引入,本例是没有的~ -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <scope>provided</scope>
- </dependency>
1.改革下启动类,使其担任SpringBootServletInitializer,同时包围configure要领。
- @SpringBootApplication
- @Slf4j
- public class ChapterApplication extends SpringBootServletInitializer{
- public static void main(String[] args) {
- SpringApplication.run(ChapterApplication.class, args);
- // new SpringApplicationBuilder().sources(ChapterApplication.class).web(false).run(args);
- //之后这里配置营业逻辑 好比挂起一个线程 可能配置一个按时使命。担保不退出
- //否则它就是一个启动类,启动后就遏制了。
- log.info("jar,chapter启动!");
- }
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- log.info("外部tomcat,chapter启动!");
- return application.sources(ChapterApplication.class);
- }
- }
2.maven打包成war(mvn clean install),然后放入tomcat中,启动运行即可。
其拭魅这样配置的话,在开拓时直接运行启动类也照旧可以直接运行的,利便.
启动不配置端口
对一些按时使命处事项目,其自己只是提供一个按时调治成果,不必要其他处事挪用,只是去调治其他处事。像这样的处事,正常也就不必要配置端口了。这时辰SpringBoot也是支持的。只必要改下启动方法:
new SpringApplicationBuilder().sources(ChapterApplication.class).web(false).run(args);
//之后这里配置营业逻辑 好比挂起一个线程 可能配置一个按时使命。担保不退出
//否则它就是一个启动类,启动后就遏制了。
可能修改设置文件的属性:
- spring.main.web-environment=false
最后结果,是不是没有望见端口了:
启动完成前举办营业逻辑
操作CommandLineRunner可能ApplicationRunner可实此刻SpringApplication的run()完成前执行一些营业逻辑
0.修改启动类,实现CommandLineRunner接口,ApplicationRunner相同,只是run的入参差异罢了。
- @Override
-
- public void run(String... args) throws Exception {
-
- log.info("CommandLineRunner运行");
-
- }
1.运行应用,留意查察节制台输出:
虽然,直接阐明一个bean也是可以的。
- @Configuration
-
- @Slf4j
-
- public class CommandLineRunnerConfig {
-
- @Bean
-
- public CommandLineRunner runner(){
-
- return new CommandLineRunner() {
-
- public void run(String... args){
-
- log.info("CommandLineRunner运行2");
-
- }
-
- };
-
- }
-
- }
若多个时,可配置@Order来确定执行的次序。
动态修他日记级别
通过org.springframework.boot.logging.LoggingSystem提供的api即可。
loggingSystem.setLogLevel(null, LogLevel.DEBUG);
如,默认时是info模式,未修改时,debug模式是不会输出的。
动态配置后
热陈设 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|