|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.boot.SpringApplication
public class SpringApplication
Classes that can be used to bootstrap and launch a Spring application from a Java main method. By default class will perform the following steps to bootstrap your application:
ApplicationContext instance (depending on your
classpath)CommandLinePropertySource to expose command line arguments as
Spring propertiesCommandLineRunner beansrun(Object, String[]) method can be called
directly from your main method to bootstrap your application:
@Configuration
@EnableAutoConfiguration
public class MyApplication {
// ... Bean definitions
public static void main(String[] args) throws Exception {
SpringApplication.run(MyApplication.class, args);
}
For more advanced configuration a SpringApplication instance can be created and
customized before being run:
public static void main(String[] args) throws Exception {
SpringApplication app = new SpringApplication(MyApplication.class);
// ... customize app settings here
app.run(args)
}
SpringApplications can read beans from a variety of different sources. It is
generally recommended that a single @Configuration class is used to bootstrap
your application, however, any of the following sources can also be used:
Class - A Java class to be loaded by AnnotatedBeanDefinitionReaderResource - A XML resource to be loaded by XmlBeanDefinitionReaderPackage - A Java package to be scanned by
ClassPathBeanDefinitionScannerCharSequence - A class name, resource handle or package name to loaded as
appropriate. If the CharSequence cannot be resolved to class and does not
resolve to a Resource that exists it will be considered a Package.
run(Object, String[]),
run(Object[], String[]),
SpringApplication(Object...)| Field Summary | |
|---|---|
static String |
DEFAULT_WEB_CONTEXT_CLASS
|
| Constructor Summary | |
|---|---|
SpringApplication(Object... sources)
Crate a new SpringApplication instance. |
|
SpringApplication(org.springframework.core.io.ResourceLoader resourceLoader,
Object... sources)
Crate a new SpringApplication instance. |
|
| Method Summary | |
|---|---|
void |
addInitializers(org.springframework.context.ApplicationContextInitializer<?>... initializers)
Add ApplicationContextInitializers to be applied to the Spring
ApplicationContext . |
protected void |
addPropertySources(org.springframework.core.env.ConfigurableEnvironment environment,
String[] args)
Add any PropertySources to the environment. |
protected void |
applyInitializers(org.springframework.context.ConfigurableApplicationContext context)
Apply any ApplicationContextInitializers to the context before it is
refreshed. |
protected org.springframework.context.ApplicationContext |
createApplicationContext()
Strategy method used to create the ApplicationContext. |
protected org.springframework.boot.BeanDefinitionLoader |
createBeanDefinitionLoader(org.springframework.beans.factory.support.BeanDefinitionRegistry registry,
Object[] sources)
Factory method used to create the BeanDefinitionLoader. |
static int |
exit(org.springframework.context.ApplicationContext context,
ExitCodeGenerator... exitCodeGenerators)
Static helper that can be used to exit a SpringApplication and obtain a
code indicating success (0) or otherwise. |
protected org.apache.commons.logging.Log |
getApplicationLog()
Returns the Log for the application. |
List<org.springframework.context.ApplicationContextInitializer<?>> |
getInitializers()
Returns a mutable list of the ApplicationContextInitializers that will be
applied to the Spring ApplicationContext. |
Set<Object> |
getSources()
Returns a mutable set of the sources that will be added to an ApplicationContext when run(String...) is called. |
protected Collection<org.springframework.context.ApplicationContextInitializer<?>> |
getSpringFactoriesApplicationContextInitializers()
Returns ApplicationContextInitializer loaded via the
SpringFactoriesLoader. |
protected void |
load(org.springframework.context.ApplicationContext context,
Object[] sources)
Load beans into the application context. |
protected void |
logStartupInfo()
Called to log startup information, subclasses may override to add additional logging. |
static void |
main(String[] args)
A basic main that can be used to launch an application. |
protected void |
postProcessApplicationContext(org.springframework.context.ApplicationContext context)
Apply any relevant post processing the ApplicationContext. |
protected void |
printBanner()
Print a simple banner message to the console. |
protected void |
refresh(org.springframework.context.ApplicationContext applicationContext)
Refresh the underlying ApplicationContext. |
static org.springframework.context.ApplicationContext |
run(Object[] sources,
String[] args)
Static helper that can be used to run a SpringApplication from the
specified sources using default settings. |
static org.springframework.context.ApplicationContext |
run(Object source,
String... args)
Static helper that can be used to run a SpringApplication from the
specified source using default settings. |
org.springframework.context.ApplicationContext |
run(String... args)
Run the Spring application, creating and refreshing a new ApplicationContext. |
void |
setAddCommandLineProperties(boolean addCommandLineProperties)
Sets if a CommandLinePropertySource should be added to the application
context in order to expose arguments. |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
Sets a Spring ApplicationContext that will be used for the application. |
void |
setApplicationContextClass(Class<? extends org.springframework.context.ApplicationContext> applicationContextClass)
Sets the type of Spring ApplicationContext that will be created. |
void |
setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator beanNameGenerator)
Sets the bean name generator that should be used when generating bean names. |
void |
setDefaultArgs(String... defaultArgs)
Set default arguments which will be used in addition to those specified to the run methods. |
void |
setEnvironment(org.springframework.core.env.ConfigurableEnvironment environment)
Sets the underlying environment that should be used with the created application context. |
void |
setInitializers(Collection<? extends org.springframework.context.ApplicationContextInitializer<?>> initializers)
Sets the ApplicationContextInitializer that will be applied to the Spring
ApplicationContext. |
void |
setLogStartupInfo(boolean logStartupInfo)
Sets if the application information should be logged when the application starts. |
void |
setMainApplicationClass(Class<?> mainApplicationClass)
Set a specific main application class that will be used as a log source and to obtain version information. |
void |
setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
Sets the ResourceLoader that should be used when loading resources. |
void |
setShowBanner(boolean showBanner)
Sets if the Spring banner should be displayed when the application runs. |
void |
setSources(Set<Object> sources)
The sources that will be used to create an ApplicationContext. |
void |
setWebEnvironment(boolean webEnvironment)
Sets if this application is running within a web environment. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String DEFAULT_WEB_CONTEXT_CLASS
| Constructor Detail |
|---|
public SpringApplication(Object... sources)
SpringApplication instance. The application context will load
beans from the specified sources (see class-level
documentation for details. The instance can be customized before calling
run(String...).
sources - the bean sourcesrun(Object, String[]),
SpringApplication(ResourceLoader, Object...)
public SpringApplication(org.springframework.core.io.ResourceLoader resourceLoader,
Object... sources)
SpringApplication instance. The application context will load
beans from the specified sources (see class-level
documentation for details. The instance can be customized before calling
run(String...).
resourceLoader - the resource loader to usesources - the bean sourcesrun(Object, String[]),
SpringApplication(ResourceLoader, Object...)| Method Detail |
|---|
protected Collection<org.springframework.context.ApplicationContextInitializer<?>> getSpringFactoriesApplicationContextInitializers()
ApplicationContextInitializer loaded via the
SpringFactoriesLoader. Subclasses can override this method to modify
default initializers if necessary.
public org.springframework.context.ApplicationContext run(String... args)
ApplicationContext.
args - the application arguments (usually passed from a Java main method)
ApplicationContext
protected void addPropertySources(org.springframework.core.env.ConfigurableEnvironment environment,
String[] args)
PropertySources to the environment.
environment - the environmentargs - run argumentsprotected void printBanner()
setShowBanner(boolean)protected void applyInitializers(org.springframework.context.ConfigurableApplicationContext context)
ApplicationContextInitializers to the context before it is
refreshed.
context - the configured ApplicationContext (not refreshed yet)ConfigurableApplicationContext.refresh()protected void logStartupInfo()
protected org.apache.commons.logging.Log getApplicationLog()
Log for the application. By default will be deduced.
protected org.springframework.context.ApplicationContext createApplicationContext()
ApplicationContext. By default this
method will respect any explicitly set application context or application context
class before falling back to a suitable default.
setApplicationContext(ApplicationContext),
setApplicationContextClass(Class)protected void postProcessApplicationContext(org.springframework.context.ApplicationContext context)
ApplicationContext. Subclasses can
apply additional processing as required.
context - the application context
protected void load(org.springframework.context.ApplicationContext context,
Object[] sources)
context - the context to load beans intosources - the sources to load
protected org.springframework.boot.BeanDefinitionLoader createBeanDefinitionLoader(org.springframework.beans.factory.support.BeanDefinitionRegistry registry,
Object[] sources)
BeanDefinitionLoader.
registry - the bean definition registrysources - the sources to load
BeanDefinitionLoader that will be used to load beansprotected void refresh(org.springframework.context.ApplicationContext applicationContext)
ApplicationContext.
applicationContext - the application context to refreshpublic void setMainApplicationClass(Class<?> mainApplicationClass)
null if there is no explicit application class.
mainApplicationClass - the mainApplicationClass to set or nullpublic void setWebEnvironment(boolean webEnvironment)
webEnvironment - if the application is running in a web environmentpublic void setShowBanner(boolean showBanner)
true.
showBanner - if the banner should be shownprintBanner()public void setLogStartupInfo(boolean logStartupInfo)
true
logStartupInfo - if startup info should be logged.public void setAddCommandLineProperties(boolean addCommandLineProperties)
CommandLinePropertySource should be added to the application
context in order to expose arguments. Defaults to true.
addCommandLineProperties - if command line arguments should be exposedpublic void setDefaultArgs(String... defaultArgs)
run methods. Default arguments can always be overridden by user defined
arguments..
defaultArgs - the default args to setpublic void setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator beanNameGenerator)
beanNameGenerator - the bean name generatorpublic void setEnvironment(org.springframework.core.env.ConfigurableEnvironment environment)
environment - the environmentpublic Set<Object> getSources()
run(String...) is called.
SpringApplication(Object...)public void setSources(Set<Object> sources)
run(Object[], String[])).
NOTE: sources defined here will be used in addition to any sources specified on construction.
sources - the sources to setSpringApplication(Object...)public void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
ResourceLoader that should be used when loading resources.
resourceLoader - the resource loaderpublic void setApplicationContextClass(Class<? extends org.springframework.context.ApplicationContext> applicationContextClass)
ApplicationContext that will be created. If not
specified defaults to DEFAULT_WEB_CONTEXT_CLASS for web based applications
or AnnotationConfigApplicationContext for non web based applications.
applicationContextClass - the context class to setsetApplicationContext(ApplicationContext)public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
ApplicationContext that will be used for the application. If
not specified an DEFAULT_WEB_CONTEXT_CLASS will be created for web based
applications or an AnnotationConfigApplicationContext for non web based
applications.
applicationContext - the spring application context.setApplicationContextClass(Class)public void setInitializers(Collection<? extends org.springframework.context.ApplicationContextInitializer<?>> initializers)
ApplicationContextInitializer that will be applied to the Spring
ApplicationContext. Any existing initializers will be replaced.
initializers - the initializers to setpublic void addInitializers(org.springframework.context.ApplicationContextInitializer<?>... initializers)
ApplicationContextInitializers to be applied to the Spring
ApplicationContext .
initializers - the initializers to addpublic List<org.springframework.context.ApplicationContextInitializer<?>> getInitializers()
ApplicationContextInitializers that will be
applied to the Spring ApplicationContext.
public static org.springframework.context.ApplicationContext run(Object source,
String... args)
SpringApplication from the
specified source using default settings.
source - the source to loadargs - the application arguments (usually passed from a Java main method)
ApplicationContext
public static org.springframework.context.ApplicationContext run(Object[] sources,
String[] args)
SpringApplication from the
specified sources using default settings.
sources - the sources to loadargs - the application arguments (usually passed from a Java main method)
ApplicationContext
public static void main(String[] args)
throws Exception
Most developers will want to define their own main method can call the
run method instead.
args - command line arguments
Exceptionrun(Object[], String[]),
run(Object, String...)
public static int exit(org.springframework.context.ApplicationContext context,
ExitCodeGenerator... exitCodeGenerators)
SpringApplication and obtain a
code indicating success (0) or otherwise. Does not throw exceptions but should
print stack traces of any encountered. Applies the specified
ExitCodeGenerator in addition to any Spring beans that implement
ExitCodeGenerator. In the case of multiple exit codes the highest value
will be used (or if all values are negative, the lowest value will be used)
context - the context to close if possibleexitCodeGenerators - exist code generators
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||