使用2.0.0以上版本的springboot需要安装jdk1.8以上的版本!!
一、springboot2的核心模块 springboot中提供了许多的starter模块,为开发者提供了许多“一站式”服务。通过在项目添加对应框架的starter依赖,可以免去到处寻找依赖包的烦恼。只要加一个依赖项目就可以运行,这就是starter的作用。Springboot官方提供的starter模块,一般命名“spring-boot-starter-*”,其中 “ * ”代表要使用的应用。
spring Boot应用启动器基本的一共有44种,具体如下
SpringBoot - starter 有哪些模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 2)spring-boot-starter-actuator 帮助监控和管理应用。 3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。 4)spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-aop和AspectJ。 5)spring-boot-starter-artemis 通过Apache Artemis支持JMS的API(Java Message Service API)。 6)spring-boot-starter-batch 支持Spring Batch,包括HSQLDB数据库。 7)spring-boot-starter-cache 支持Spring的Cache抽象。 8)spring-boot-starter-cloud-connectors 支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。 9)spring-boot-starter-data-elasticsearch 支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。 10)spring-boot-starter-data-gemfire 支持GemFire分布式数据存储,包括spring-data-gemfire。 11)spring-boot-starter-data-jpa 支持JPA(Java Persistence API),包括spring-data-jpa、spring-orm、hibernate。 12)spring-boot-starter-data-MongoDB 支持MongoDB数据,包括spring-data-mongodb。 13)spring-boot-starter-data-rest 通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。 14)spring-boot-starter-data-solr 支持Apache Solr搜索平台,包括spring-data-solr。 15)spring-boot-starter-freemarker 支持FreeMarker模板引擎。 16)spring-boot-starter-groovy-templates 支持Groovy模板引擎。 17)spring-boot-starter-hateoas 通过spring-hateoas支持基于HATEOAS的RESTful Web服务。 18)spring-boot-starter-hornetq 通过HornetQ支持JMS。 19)spring-boot-starter-integration 支持通用的spring-integration模块。 20)spring-boot-starter-jdbc 支持JDBC数据库。 21)spring-boot-starter-jersey 支持Jersey RESTful Web服务框架。 22)spring-boot-starter-jta-atomikos 通过Atomikos支持JTA分布式事务处理。 23)spring-boot-starter-jta-bitronix 通过Bitronix支持JTA分布式事务处理。 24)spring-boot-starter-mail 支持javax.mail模块。 25)spring-boot-starter-mobile 支持spring-mobile。 26)spring-boot-starter-mustache 支持Mustache模板引擎。 27)spring-boot-starter-Redis 支持Redis键值存储数据库,包括spring-redis。 28)spring-boot-starter-security 支持spring-security。 29)spring-boot-starter-social-facebook 支持spring-social-facebook 30)spring-boot-starter-social-linkedin 支持pring-social-linkedin 31)spring-boot-starter-social-twitter 支持pring-social-twitter 32)spring-boot-starter-test 支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。 33)spring-boot-starter-thymeleaf 支持Thymeleaf模板引擎,包括与Spring的集成。 34)spring-boot-starter-velocity 支持Velocity模板引擎。 35)spring-boot-starter-web S支持全栈式Web开发,包括Tomcat和spring-webmvc。 36)spring-boot-starter-websocket 支持WebSocket开发。 37)spring-boot-starter-ws 支持Spring Web Services。 Spring Boot应用启动器面向生产环境的还有2种,具体如下: 38)spring-boot-starter-actuator 增加了面向产品上线相关的功能,比如测量和监控。 39)spring-boot-starter-remote-shell 增加了远程ssh shell的支持。 最后,Spring Boot应用启动器还有一些替换技术的启动器,具体如下: 40)spring-boot-starter-jetty 引入了Jetty HTTP引擎(用于替换Tomcat)。 41)spring-boot-starter-log4j 支持Log4J日志框架。 42)spring-boot-starter-logging 引入了Spring Boot默认的日志框架Logback。 43)spring-boot-starter-tomcat 引入了Spring Boot默认的HTTP引擎Tomcat。 44)spring-boot-starter-undertow 引入了Undertow HTTP引擎(用于替换Tomcat)。
二、springboot的启动类入口分析
@SpringBootApplication : 是Sprnig Boot项目的核心注解,目的是开启自动配置。
1. @SpringBootApplication注解用于启动springboot。
2. @SpringBootApplication注解与@Configuration,@EnableAutoConfiguration,@ComponentScan等三个注解完全等价(前者是有后者三个注解合并而来的)
三、深入探索 SpringApplication 执行流程
四、IDEA创建项目之后的目录结果
src/main/java 目录下包括主程序入口类,可用来启动程序;及所需的接口 、类文件。
src/main/resources 是资源目录,存放一些配置信息。由于开发的web应用,因此在src/main/resources下产生了static子目录和template子目录,statis子目录存放静态资源(如css,js等文件);templa子目录主要用于存放web页面动态视图文件。
pom.xml是项目管理的重要文件。
五、项目属性配置 1. 在springboot中主要通过application.properties文件、application.yml文件实现对属性的配置。
2. 这两种文件的格式不同,但内容对应、作用相同。
3. 配置文件的默认执行顺序是:
项目根目录下的config子目录 -> 项目根目录 -> 项目classpath子目录下的config子目录 -> 项目classpath子目录。
六、注解
@EnableAutoConfiguration Annotation: 这个注解告诉 Spring Boot 根据你添加的 jar 依赖来“猜测”你想如何配置 Spring。由于 spring-boot-starter-web 添加了 Tomcat 和 Spring MVC,因此自动配置,假定您正在开发 Web 应用程序并会相应地设置 Spring。
七、The “main” Method 1 2 3 4 5 6 7 @SpringBootApplication public class HelloSpringbootApplication { public static void main(String[] args) { SpringApplication.run(HelloSpringbootApplication.class, args); } }
我们应用程序的最后一部分是main 方法。这只是遵循应用程序入口点的 Java 约定的标准方法。 我们的 main 方法通过调用 run 委托给 Spring Boot 的SpringApplication 类。SpringApplication 引导我们的应用程序,启动 Spring,然后启动自动配置的 Tomcat Web 服务器。我们需要将 Example.class 作为参数传递给 run 方法来告诉 SpringApplication 哪个是主要的 Spring 组件。 args 数组也被传递以公开任何命令行参数。