标签:follow following ebs logfile frame zed not over sim
public static void main(String[] args) { SpringApplication.run(MySpringConfiguration.class, args); }
java -jar myproject-0.0.1-SNAPSHOT.jar --debug
@SpringBootApplication public class App { public static void main( String[] args ) { SpringApplication app=new SpringApplication(App.class); app.setBannerMode(Banner.Mode.OFF); app.run(args); } }
A SpringApplication
attempts to create the right type of ApplicationContext
on your behalf. The algorithm used to determine a WebApplicationType
is fairly simple:
AnnotationConfigServletWebServerApplicationContext
is usedAnnotationConfigReactiveWebServerApplicationContext
is usedAnnotationConfigApplicationContext
is usedThis means that if you are using Spring MVC and the new WebClient
from Spring WebFlux in the same application, Spring MVC will be used by default. You can override that easily by calling setWebApplicationType(WebApplicationType)
.
It is also possible to take complete control of the ApplicationContext
type that is used by calling setApplicationContextClass(…?)
.
SpringApplication.run(…?)
, you can inject a org.springframework.boot.ApplicationArguments
bean. The ApplicationArguments
interface provides access to both the raw String[]
arguments as well as parsed option
and non-option
arguments, as shown in the following example:import org.springframework.boot.*; import org.springframework.beans.factory.annotation.*; import org.springframework.stereotype.*; @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"] } }
If you need to run some specific code once the SpringApplication
has started, you can implement the ApplicationRunner
or CommandLineRunner
interfaces. Both interfaces work in the same way and offer a single run
method, which is called just before SpringApplication.run(…?)
completes.
The CommandLineRunner
interfaces provides access to application arguments as a simple string array, whereas the ApplicationRunner
uses the ApplicationArguments
interface discussed earlier. The following example shows a CommandLineRunner
with a run
method:
CommandLineRunner
or ApplicationRunner
beans are defined that must be called in a specific order, you can additionally implement the org.springframework.core.Ordered
interface or use the org.springframework.core.annotation.Order
annotation.import org.springframework.boot.*; import org.springframework.stereotype.*; @Component public class MyBean implements CommandLineRunner { public void run(String... args) { // Do something... } }
Spring boot 梳理 - SpringApplication
标签:follow following ebs logfile frame zed not over sim
原文地址:https://www.cnblogs.com/jiangtao1218/p/10201483.html