You are on page 1of 20

24/11/2016

SpringBootReferenceGuide

SpringBootReferenceGuide

Next

SpringBootReferenceGuide
Authors
PhillipWebb,DaveSyer,JoshLong,StphaneNicoll,RobWinch,AndyWilkinson,Marcel
Overdijk,ChristianDupuis,SbastienDeleuze

1.4.2.RELEASE

Copyright20132016
Copiesofthisdocumentmaybemadeforyourownuseandfordistributiontoothers,providedthatyoudo
notchargeanyfeeforsuchcopiesandfurtherprovidedthateachcopycontainsthisCopyrightNotice,
whetherdistributedinprintorelectronically .

TableofContents

I.SpringBootDocumentation
1.Aboutthedocumentation
2.Gettinghelp
3.Firststeps
4.WorkingwithSpringBoot
5.LearningaboutSpringBootfeatures
6.Movingtoproduction
7.Advancedtopics
http://docs.spring.io/springboot/docs/current/reference/html/

1/20

24/11/2016

SpringBootReferenceGuide

II.Gettingstarted
8.IntroducingSpringBoot
9.SystemRequirements
9.1.Servletcontainers

10.InstallingSpringBoot
10.1.InstallationinstructionsfortheJavadeveloper
10.1.1.Maveninstallation
10.1.2.Gradleinstallation

10.2.InstallingtheSpringBootCLI
10.2.1.Manualinstallation
10.2.2.InstallationwithSDKMAN!
10.2.3.OSXHomebrewinstallation
10.2.4.MacPortsinstallation
10.2.5.Commandlinecompletion
10.2.6.QuickstartSpringCLIexample

10.3.UpgradingfromanearlierversionofSpringBoot

11.DevelopingyourfirstSpringBootapplication
11.1.CreatingthePOM
11.2.Addingclasspathdependencies
11.3.Writingthecode
11.3.1.The@RestControllerand@RequestMappingannotations
11.3.2.The@EnableAutoConfigurationannotation
11.3.3.Themainmethod

11.4.Runningtheexample
11.5.Creatinganexecutablejar

12.Whattoreadnext

III.UsingSpringBoot
13.Buildsystems
13.1.Dependencymanagement
http://docs.spring.io/springboot/docs/current/reference/html/

2/20

24/11/2016

SpringBootReferenceGuide

13.2.Maven
13.2.1.Inheritingthestarterparent
13.2.2.UsingSpringBootwithouttheparentPOM
13.2.3.ChangingtheJavaversion
13.2.4.UsingtheSpringBootMavenplugin

13.3.Gradle
13.4.Ant
13.5.Starters

14.Structuringyourcode
14.1.Usingthedefaultpackage
14.2.Locatingthemainapplicationclass

15.Configurationclasses
15.1.Importingadditionalconfigurationclasses
15.2.ImportingXMLconfiguration

16.Autoconfiguration
16.1.Graduallyreplacingautoconfiguration
16.2.Disablingspecificautoconfiguration

17.SpringBeansanddependencyinjection
18.Usingthe@SpringBootApplicationannotation
19.Runningyourapplication
19.1.RunningfromanIDE
19.2.Runningasapackagedapplication
19.3.UsingtheMavenplugin
19.4.UsingtheGradleplugin
19.5.Hotswapping

20.Developertools
20.1.Propertydefaults
http://docs.spring.io/springboot/docs/current/reference/html/

3/20

24/11/2016

SpringBootReferenceGuide

20.2.Automaticrestart
20.2.1.Excludingresources
20.2.2.Watchingadditionalpaths
20.2.3.Disablingrestart
20.2.4.Usingatriggerfile
20.2.5.Customizingtherestartclassloader
20.2.6.Knownlimitations

20.3.LiveReload
20.4.Globalsettings
20.5.Remoteapplications
20.5.1.Runningtheremoteclientapplication
20.5.2.Remoteupdate
20.5.3.Remotedebugtunnel

21.Packagingyourapplicationforproduction
22.Whattoreadnext

IV.SpringBootfeatures
23.SpringApplication
23.1.Startupfailure
23.2.CustomizingtheBanner
23.3.CustomizingSpringApplication
23.4.FluentbuilderAPI
23.5.Applicationeventsandlisteners
23.6.Webenvironment
23.7.Accessingapplicationarguments
23.8.UsingtheApplicationRunnerorCommandLineRunner
23.9.Applicationexit
23.10.Adminfeatures

24.ExternalizedConfiguration
24.1.Configuringrandomvalues
24.2.Accessingcommandlineproperties
http://docs.spring.io/springboot/docs/current/reference/html/

4/20

24/11/2016

SpringBootReferenceGuide

24.3.Applicationpropertyfiles
24.4.Profilespecificproperties
24.5.Placeholdersinproperties
24.6.UsingYAMLinsteadofProperties
24.6.1.LoadingYAML
24.6.2.ExposingYAMLaspropertiesintheSpringEnvironment
24.6.3.MultiprofileYAMLdocuments
24.6.4.YAMLshortcomings
24.6.5.MergingYAMLlists

24.7.TypesafeConfigurationProperties
24.7.1.Thirdpartyconfiguration
24.7.2.Relaxedbinding
24.7.3.Propertiesconversion
24.7.4.@ConfigurationPropertiesValidation
24.7.5.@ConfigurationPropertiesvs.@Value

25.Profiles
25.1.Addingactiveprofiles
25.2.Programmaticallysettingprofiles
25.3.Profilespecificconfigurationfiles

26.Logging
26.1.Logformat
26.2.Consoleoutput
26.2.1.Colorcodedoutput

26.3.Fileoutput
26.4.LogLevels
26.5.Customlogconfiguration
26.6.Logbackextensions
26.6.1.Profilespecificconfiguration
26.6.2.Environmentproperties

27.Developingwebapplications
27.1.TheSpringWebMVCframework
27.1.1.SpringMVCautoconfiguration
27.1.2.HttpMessageConverters
27.1.3.CustomJSONSerializersandDeserializers
http://docs.spring.io/springboot/docs/current/reference/html/

5/20

24/11/2016

SpringBootReferenceGuide

27.1.4.MessageCodesResolver
27.1.5.StaticContent
27.1.6.ConfigurableWebBindingInitializer
27.1.7.Templateengines
27.1.8.ErrorHandling
Customerrorpages
MappingerrorpagesoutsideofSpringMVC
ErrorHandlingonWebSphereApplicationServer
27.1.9.SpringHATEOAS
27.1.10.CORSsupport

27.2.JAXRSandJersey
27.3.Embeddedservletcontainersupport
27.3.1.Servlets,Filters,andlisteners
RegisteringServlets,Filters,andlistenersasSpringbeans
27.3.2.ServletContextInitialization
ScanningforServlets,Filters,andlisteners
27.3.3.TheEmbeddedWebApplicationContext
27.3.4.Customizingembeddedservletcontainers
Programmaticcustomization
CustomizingConfigurableEmbeddedServletContainerdirectly
27.3.5.JSPlimitations

28.Security
28.1.OAuth2
28.1.1.AuthorizationServer
28.1.2.ResourceServer

28.2.TokenTypeinUserInfo
28.3.CustomizingtheUserInfoRestTemplate
28.3.1.Client
28.3.2.SingleSignOn

28.4.ActuatorSecurity

29.WorkingwithSQLdatabases
29.1.ConfigureaDataSource
29.1.1.EmbeddedDatabaseSupport
29.1.2.Connectiontoaproductiondatabase
29.1.3.ConnectiontoaJNDIDataSource

29.2.UsingJdbcTemplate
29.3.JPAandSpringData
29.3.1.EntityClasses
29.3.2.SpringDataJPARepositories
http://docs.spring.io/springboot/docs/current/reference/html/

6/20

24/11/2016

SpringBootReferenceGuide

29.3.3.CreatinganddroppingJPAdatabases

29.4.UsingH2swebconsole
29.4.1.ChangingtheH2consolespath
29.4.2.SecuringtheH2console

29.5.UsingjOOQ
29.5.1.CodeGeneration
29.5.2.UsingDSLContext
29.5.3.CustomizingjOOQ

30.WorkingwithNoSQLtechnologies
30.1.Redis
30.1.1.ConnectingtoRedis

30.2.MongoDB
30.2.1.ConnectingtoaMongoDBdatabase
30.2.2.MongoTemplate
30.2.3.SpringDataMongoDBrepositories
30.2.4.EmbeddedMongo

30.3.Neo4j
30.3.1.ConnectingtoaNeo4jdatabase
30.3.2.Usingtheembeddedmode
30.3.3.Neo4jSession
30.3.4.SpringDataNeo4jrepositories
30.3.5.Repositoryexample

30.4.Gemfire
30.5.Solr
30.5.1.ConnectingtoSolr
30.5.2.SpringDataSolrrepositories

30.6.Elasticsearch
30.6.1.ConnectingtoElasticsearchusingJest
30.6.2.ConnectingtoElasticsearchusingSpringData
30.6.3.SpringDataElasticsearchrepositories

30.7.Cassandra
30.7.1.ConnectingtoCassandra
30.7.2.SpringDataCassandrarepositories

30.8.Couchbase
30.8.1.ConnectingtoCouchbase
30.8.2.SpringDataCouchbaserepositories

31.Caching
31.1.Supportedcacheproviders
http://docs.spring.io/springboot/docs/current/reference/html/

7/20

24/11/2016

SpringBootReferenceGuide

31.1.1.Generic
31.1.2.JCache(JSR107)
31.1.3.EhCache2.x
31.1.4.Hazelcast
31.1.5.Infinispan
31.1.6.Couchbase
31.1.7.Redis
31.1.8.Caffeine
31.1.9.Guava
31.1.10.Simple
31.1.11.None

32.Messaging
32.1.JMS
32.1.1.ActiveMQsupport
32.1.2.Artemissupport
32.1.3.HornetQsupport
32.1.4.UsingaJNDIConnectionFactory
32.1.5.Sendingamessage
32.1.6.Receivingamessage

32.2.AMQP
32.2.1.RabbitMQsupport
32.2.2.Sendingamessage
32.2.3.Receivingamessage

33.CallingRESTservices
33.1.RestTemplatecustomization

34.Sendingemail
35.DistributedTransactionswithJTA
35.1.UsinganAtomikostransactionmanager
35.2.UsingaBitronixtransactionmanager
35.3.UsingaNarayanatransactionmanager
35.4.UsingaJavaEEmanagedtransactionmanager
35.5.MixingXAandnonXAJMSconnections
35.6.Supportinganalternativeembeddedtransactionmanager

36.Hazelcast
37.SpringIntegration

http://docs.spring.io/springboot/docs/current/reference/html/

8/20

24/11/2016

SpringBootReferenceGuide

37.SpringIntegration
38.SpringSession
39.MonitoringandmanagementoverJMX
40.Testing
40.1.Testscopedependencies
40.2.TestingSpringapplications
40.3.TestingSpringBootapplications
40.3.1.Detectingtestconfiguration
40.3.2.Excludingtestconfiguration
40.3.3.Workingwithrandomports
40.3.4.Mockingandspyingbeans
40.3.5.Autoconfiguredtests
40.3.6.AutoconfiguredJSONtests
40.3.7.AutoconfiguredSpringMVCtests
40.3.8.AutoconfiguredDataJPAtests
40.3.9.AutoconfiguredRESTclients
40.3.10.AutoconfiguredSpringRESTDocstests
40.3.11.UsingSpocktotestSpringBootapplications

40.4.Testutilities
40.4.1.ConfigFileApplicationContextInitializer
40.4.2.EnvironmentTestUtils
40.4.3.OutputCapture
40.4.4.TestRestTemplate

41.WebSockets
42.WebServices
43.Creatingyourownautoconfiguration
43.1.Understandingautoconfiguredbeans
43.2.Locatingautoconfigurationcandidates
43.3.Conditionannotations
43.3.1.Classconditions
43.3.2.Beanconditions
43.3.3.Propertyconditions
43.3.4.Resourceconditions
43.3.5.Webapplicationconditions
43.3.6.SpELexpressionconditions
http://docs.spring.io/springboot/docs/current/reference/html/

9/20

24/11/2016

SpringBootReferenceGuide

43.4.Creatingyourownstarter
43.4.1.Naming
43.4.2.Autoconfiguremodule
43.4.3.Startermodule

44.Whattoreadnext

V.SpringBootActuator:Productionready
features
45.Enablingproductionreadyfeatures
46.Endpoints
46.1.Customizingendpoints
46.2.HypermediaforactuatorMVCendpoints
46.3.CORSsupport
46.4.Addingcustomendpoints
46.5.Healthinformation
46.6.SecuritywithHealthIndicators
46.6.1.AutoconfiguredHealthIndicators
46.6.2.WritingcustomHealthIndicators

46.7.Applicationinformation
46.7.1.AutoconfiguredInfoContributors
46.7.2.Customapplicationinfoinformation
46.7.3.Gitcommitinformation
46.7.4.Buildinformation
46.7.5.WritingcustomInfoContributors

47.MonitoringandmanagementoverHTTP
47.1.Securingsensitiveendpoints
47.2.Customizingthemanagementendpointpaths
47.3.Customizingthemanagementserverport
47.4.ConfiguringmanagementspecificSSL
47.5.Customizingthemanagementserveraddress
47.6.DisablingHTTPendpoints
http://docs.spring.io/springboot/docs/current/reference/html/

10/20

24/11/2016

SpringBootReferenceGuide

47.7.HTTPhealthendpointaccessrestrictions

48.MonitoringandmanagementoverJMX
48.1.CustomizingMBeannames
48.2.DisablingJMXendpoints
48.3.UsingJolokiaforJMXoverHTTP
48.3.1.CustomizingJolokia
48.3.2.DisablingJolokia

49.Monitoringandmanagementusingaremoteshell
49.1.Connectingtotheremoteshell
49.1.1.Remoteshellcredentials

49.2.Extendingtheremoteshell
49.2.1.Remoteshellcommands
49.2.2.Remoteshellplugins

50.Metrics
50.1.Systemmetrics
50.2.DataSourcemetrics
50.3.Cachemetrics
50.4.Tomcatsessionmetrics
50.5.Recordingyourownmetrics
50.6.Addingyourownpublicmetrics
50.7.SpecialfeatureswithJava8
50.8.Metricwriters,exportersandaggregation
50.8.1.Example:ExporttoRedis
50.8.2.Example:ExporttoOpenTSDB
50.8.3.Example:ExporttoStatsd
50.8.4.Example:ExporttoJMX

50.9.Aggregatingmetricsfrommultiplesources
50.10.DropwizardMetrics
50.11.Messagechannelintegration

51.Auditing
52.Tracing

http://docs.spring.io/springboot/docs/current/reference/html/

11/20

24/11/2016

SpringBootReferenceGuide

52.Tracing
52.1.Customtracing

53.Processmonitoring
53.1.Extendconfiguration
53.2.Programmatically

54.Whattoreadnext

VI.DeployingSpringBootapplications
55.Deployingtothecloud
55.1.CloudFoundry
55.1.1.Bindingtoservices

55.2.Heroku
55.3.OpenShift
55.4.BoxfuseandAmazonWebServices
55.5.GoogleAppEngine

56.InstallingSpringBootapplications
56.1.Unix/Linuxservices
56.1.1.Installationasaninit.dservice(SystemV)
Securinganinit.dservice
56.1.2.Installationasasystemdservice
56.1.3.Customizingthestartupscript
Customizingscriptwhenitswritten
Customizingscriptwhenitruns

56.2.MicrosoftWindowsservices

57.Whattoreadnext

VII.SpringBootCLI
58.InstallingtheCLI
59.UsingtheCLI

http://docs.spring.io/springboot/docs/current/reference/html/

12/20

24/11/2016

SpringBootReferenceGuide

59.UsingtheCLI
59.1.RunningapplicationsusingtheCLI
59.1.1.Deducedgrabdependencies
59.1.2.Deducedgrabcoordinates
59.1.3.Defaultimportstatements
59.1.4.Automaticmainmethod
59.1.5.Customdependencymanagement

59.2.Testingyourcode
59.3.Applicationswithmultiplesourcefiles
59.4.Packagingyourapplication
59.5.Initializeanewproject
59.6.Usingtheembeddedshell
59.7.AddingextensionstotheCLI

60.DevelopingapplicationwiththeGroovybeansDSL
61.ConfiguringtheCLIwithsettings.xml
62.Whattoreadnext

VIII.Buildtoolplugins
63.SpringBootMavenplugin
63.1.Includingtheplugin
63.2.Packagingexecutablejarandwarfiles

64.SpringBootGradleplugin
64.1.Includingtheplugin
64.2.Gradledependencymanagement
64.3.Packagingexecutablejarandwarfiles
64.4.Runningaprojectinplace
64.5.SpringBootpluginconfiguration
64.6.Repackageconfiguration
http://docs.spring.io/springboot/docs/current/reference/html/

13/20

24/11/2016

SpringBootReferenceGuide

64.7.RepackagewithcustomGradleconfiguration
64.7.1.Configurationoptions
64.7.2.Availablelayouts

64.8.UnderstandinghowtheGradlepluginworks
64.9.PublishingartifactstoaMavenrepositoryusingGradle
64.9.1.ConfiguringGradletoproduceapomthatinheritsdependency
management
64.9.2.ConfiguringGradletoproduceapomthatimportsdependency
management

65.SpringBootAntLibmodule
65.1.SpringBootAnttasks
65.1.1.springboot:exejar
65.1.2.Examples

65.2.springboot:findmainclass
65.2.1.Examples

66.Supportingotherbuildsystems
66.1.Repackagingarchives
66.2.Nestedlibraries
66.3.Findingamainclass
66.4.Examplerepackageimplementation

67.Whattoreadnext

IX.Howtoguides
68.SpringBootapplication
68.1.CreateyourownFailureAnalyzer
68.2.Troubleshootautoconfiguration
68.3.CustomizetheEnvironmentorApplicationContextbefore
itstarts
68.4.BuildanApplicationContexthierarchy(addingaparentor
rootcontext)
68.5.Createanonwebapplication

69.Properties&configuration

http://docs.spring.io/springboot/docs/current/reference/html/

14/20

24/11/2016

SpringBootReferenceGuide

69.Properties&configuration
69.1.Automaticallyexpandpropertiesatbuildtime
69.1.1.AutomaticpropertyexpansionusingMaven
69.1.2.AutomaticpropertyexpansionusingGradle

69.2.ExternalizetheconfigurationofSpringApplication
69.3.Changethelocationofexternalpropertiesofan
application
69.4.Useshortcommandlinearguments
69.5.UseYAMLforexternalproperties
69.6.SettheactiveSpringprofiles
69.7.Changeconfigurationdependingontheenvironment
69.8.Discoverbuiltinoptionsforexternalproperties

70.Embeddedservletcontainers
70.1.AddaServlet,FilterorListenertoanapplication
70.1.1.AddaServlet,FilterorListenerusingaSpringbean
DisableregistrationofaServletorFilter
70.1.2.AddServlets,Filters,andListenersusingclasspathscanning

70.2.ChangetheHTTPport
70.3.UsearandomunassignedHTTPport
70.4.DiscovertheHTTPportatruntime
70.5.ConfigureSSL
70.6.ConfigureAccessLogging
70.7.Usebehindafrontendproxyserver
70.7.1.CustomizeTomcatsproxyconfiguration

70.8.ConfigureTomcat
70.9.EnableMultipleConnectorswithTomcat
70.10.UseTomcatsLegacyCookieProcessor
70.11.UseJettyinsteadofTomcat
70.12.ConfigureJetty
70.13.UseUndertowinsteadofTomcat
70.14.ConfigureUndertow
http://docs.spring.io/springboot/docs/current/reference/html/

15/20

24/11/2016

SpringBootReferenceGuide

70.15.EnableMultipleListenerswithUndertow
70.16.UseTomcat7.xor8.0
70.16.1.UseTomcat7.xor8.0withMaven
70.16.2.UseTomcat7.xor8.0withGradle

70.17.UseJetty9.2
70.17.1.UseJetty9.2withMaven
70.17.2.UseJetty9.2withGradle

70.18.UseJetty8
70.18.1.UseJetty8withMaven
70.18.2.UseJetty8withGradle

70.19.CreateWebSocketendpointsusing@ServerEndpoint
70.20.EnableHTTPresponsecompression

71.SpringMVC
71.1.WriteaJSONRESTservice
71.2.WriteanXMLRESTservice
71.3.CustomizetheJacksonObjectMapper
71.4.Customizethe@ResponseBodyrendering
71.5.HandlingMultipartFileUploads
71.6.SwitchofftheSpringMVCDispatcherServlet
71.7.SwitchofftheDefaultMVCconfiguration
71.8.CustomizeViewResolvers
71.9.Velocity
71.10.UseThymeleaf3

72.HTTPclients
72.1.ConfigureRestTemplatetouseaproxy

73.Logging
73.1.ConfigureLogbackforlogging
73.1.1.Configurelogbackforfileonlyoutput

73.2.ConfigureLog4jforlogging
73.2.1.UseYAMLorJSONtoconfigureLog4j2

74.DataAccess

http://docs.spring.io/springboot/docs/current/reference/html/

16/20

24/11/2016

SpringBootReferenceGuide

74.DataAccess
74.1.ConfigureaDataSource
74.2.ConfigureTwoDataSources
74.3.UseSpringDatarepositories
74.4.Separate@EntitydefinitionsfromSpringconfiguration
74.5.ConfigureJPAproperties
74.6.UseacustomEntityManagerFactory
74.7.UseTwoEntityManagers
74.8.Useatraditionalpersistence.xml
74.9.UseSpringDataJPAandMongorepositories
74.10.ExposeSpringDatarepositoriesasRESTendpoint
74.11.ConfigureacomponentthatisusedbyJPA

75.Databaseinitialization
75.1.InitializeadatabaseusingJPA
75.2.InitializeadatabaseusingHibernate
75.3.InitializeadatabaseusingSpringJDBC
75.4.InitializeaSpringBatchdatabase
75.5.Useahigherleveldatabasemigrationtool
75.5.1.ExecuteFlywaydatabasemigrationsonstartup
75.5.2.ExecuteLiquibasedatabasemigrationsonstartup

76.Batchapplications
76.1.ExecuteSpringBatchjobsonstartup

77.Actuator
77.1.ChangetheHTTPportoraddressoftheactuator
endpoints
77.2.Customizethewhitelabelerrorpage
77.3.ActuatorandJersey

78.Security
http://docs.spring.io/springboot/docs/current/reference/html/

17/20

24/11/2016

SpringBootReferenceGuide

78.1.SwitchofftheSpringBootsecurityconfiguration
78.2.ChangetheAuthenticationManagerandadduser
accounts
78.3.EnableHTTPSwhenrunningbehindaproxyserver

79.Hotswapping
79.1.Reloadstaticcontent
79.2.Reloadtemplateswithoutrestartingthecontainer
79.2.1.Thymeleaftemplates
79.2.2.FreeMarkertemplates
79.2.3.Groovytemplates
79.2.4.Velocitytemplates

79.3.Fastapplicationrestarts
79.4.ReloadJavaclasseswithoutrestartingthecontainer
79.4.1.ConfiguringSpringLoadedforusewithMaven
79.4.2.ConfiguringSpringLoadedforusewithGradleandIntelliJIDEA

80.Build
80.1.Generatebuildinformation
80.2.Generategitinformation
80.3.Customizedependencyversions
80.4.CreateanexecutableJARwithMaven
80.5.UseaSpringBootapplicationasadependency
80.6.Extractspecificlibrarieswhenanexecutablejarruns
80.7.CreateanonexecutableJARwithexclusions
80.8.RemotedebugaSpringBootapplicationstartedwith
Maven
80.9.RemotedebugaSpringBootapplicationstartedwith
Gradle
80.10.BuildanexecutablearchivefromAntwithoutusing
springbootantlib
80.11.HowtouseJava6
80.11.1.Embeddedservletcontainercompatibility
80.11.2.Jackson
80.11.3.JTAAPIcompatibility

81.Traditionaldeployment

http://docs.spring.io/springboot/docs/current/reference/html/

18/20

24/11/2016

SpringBootReferenceGuide

81.Traditionaldeployment
81.1.Createadeployablewarfile
81.2.Createadeployablewarfileforolderservletcontainers
81.3.ConvertanexistingapplicationtoSpringBoot
81.4.DeployingaWARtoWebLogic
81.5.DeployingaWARinanOld(Servlet2.5)Container

X.Appendices
A.Commonapplicationproperties
B.Configurationmetadata
B.1.Metadataformat
B.1.1.GroupAttributes
B.1.2.PropertyAttributes
B.1.3.HintAttributes
B.1.4.Repeatedmetadataitems

B.2.Providingmanualhints
B.2.1.Valuehint
B.2.2.Valueprovider
Any
Classreference
HandleAs
Loggername
Springbeanreference
Springprofilename

B.3.Generatingyourownmetadatausingtheannotation
processor
B.3.1.Nestedproperties
B.3.2.Addingadditionalmetadata

C.Autoconfigurationclasses
C.1.Fromthespringbootautoconfiguremodule
C.2.Fromthespringbootactuatormodule

D.Testautoconfigurationannotations
E.Theexecutablejarformat

http://docs.spring.io/springboot/docs/current/reference/html/

19/20

24/11/2016

SpringBootReferenceGuide

E.Theexecutablejarformat
E.1.NestedJARs
E.1.1.Theexecutablejarfilestructure
E.1.2.Theexecutablewarfilestructure

E.2.SpringBootsJarFileclass
E.2.1.CompatibilitywiththestandardJavaJarFile

E.3.Launchingexecutablejars
E.3.1.Launchermanifest
E.3.2.Explodedarchives

E.4.PropertiesLauncherFeatures
E.5.Executablejarrestrictions
E.5.1.Zipentrycompression
E.5.2.SystemClassLoader

E.6.Alternativesinglejarsolutions
SearchDocumentation

F.Dependencyversions

Next
PartI.SpringBootDocumentation

http://docs.spring.io/springboot/docs/current/reference/html/

20/20

You might also like