Spring Boot由一些模块构成,如spring-boot
, spring-boot-autoconfigure
, spring-boot-starters
, spring-boot-cli
,spring-boot-actuator
等。java
主库,为其余模块提供特性支持。包括如下内容:
SpringApplication
类,提供静态方法,方便编写独立运行的Spring应用。惟一的任务是建立和刷新一个合适的Spring ApplicationContext
。
嵌入式web应用,自带容器(Tomcat, Jetty等)。web
Spring Boot能够基于classpath下的内容配置通用应用的大部分模块。一个@EnableAutoConfiguration
注解触发Spring上下文的自动配置。spring
自动配置尝试推测用户可能须要的bean。例如,若是H2DB在classpath中,可是用户没有配置任何db链接,那么spring-boot-autoconfigure
推断用户须要一个in-memory
的db,所以自动配置为用户配置(默认建立的h2db的db名为testdb, 用户名为caiwan,密码无)。自动配置优先级低于用户自定义的bean。安全
starters是一系列便利的依赖描述,用户能够增长到应用中,并由此取得Spring和相关技术的 一站式配置体验,无需查看sample代码并贴来贴去。例如,若用户想要使用Spring和JPA来访问db,则只需包含spring-boot-starter-data-jpa
依赖到pom
中便可。springboot
Spring的命令行应用,编译和运行Groovy源码,只需极少的代码就能够运行应用,Spring CLI还能够监视文件,在它们改变时自动从新编译和重启。服务器
spring boot actuator提供额外的自动配置,为你的应用装饰一些特性,使应用在生产环境下也能够快速部署和支持。例如,若你正在编写一个JSON web服务,该模块会提供一个服务器,安全,日志,外部化配置,管理端点(management endpoints),评审等。关闭这些内建特性,或者扩展或替代它们都很容易。微信
Spring Boot Loader提供秘籍容许你构建可用java –jar直接运行的jar包。通常无需直接使用spring-boot-loader
,而是经过Gradle或Maven插件使用。svg
文章持续更新:欢迎各位小伙伴关注个人公众号:菜丸的程序屋。但愿将个人不足之处给予指点,谢谢你们。喜欢Java,热衷学习的小伙伴能够加我微信: CaiWan_Y
spring-boot