springboot精要
1.自动配置
Springboot会为一些常见场景进行自动配置。这些自动配置涉及Java持久化API(Java Persistence API,JPA)、Thymeleaf模板、安全和Spring MVC等等很多。
2.起步依赖
Spring Boot通过起步依赖为项目的依赖管理提供帮助。起步依赖其实就是特殊的Maven依赖和Gradle依赖,利用了传递依赖解析,把常用库聚合在一起,组成了几个为特定功能而定制的依赖。使用起步依赖只需要在web起步依赖中添加
<dependency>
<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
比起减少依赖数量,起步依赖还引入了一些微妙的变化。向项目中添加了Web起步依赖,实际上指定了应用程序所需的一类功能。因为应用是个Web应用程序,所以加入了Web起步依赖。与之类似,如果应用程序要用到JPA持久化,那么就可以加入jpa起步依赖。如果需要安全功能,那就加入security起步依赖。简而言之,你不再需要考虑支持某种功能要用什么库了,引入相关起 步依赖就行。
此外,Spring Boot的起步依赖还把你从“需要这些库的哪些版本”这个问题里解放了出来。
起步依赖引入的库的版本都是经过测试的,因此你可以完全放心,它们之间不会出现不兼容的
情况。
3.命令行界面
Spring Boot CLI的命令行界面,Spring Boot CLI是Spring Boot的非必要组成部分。
4. Actuator
其他几个部分旨在简化Spring开发,而Actuator则要提供在运行时检视应用程序内部情况的能力。包括:1 Spring应用程序上下文里配置的Bean、2.Spring Boot的自动配置做的决策、3.应用程序取到的环境变量、系统属性、配置属性和命令行参数、4应用程序里线程的当前状态、5.应用程序最近处理过的HTTP请求的追踪情况、6.各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标。
运用Springboot项目
1.启动Springboot项目
ReadingListApplication.java 是启动引导类和配置类,@SpringBootApplication注解开启了组件扫描和自动配置,它是三个有用的注解组合在了一起。
Spring的 @Configuration :标明该类使用Spring基于Java的配置。虽然本书不会写太多配置,但我们会更倾向于使用基于Java而不是XML的配置。
Spring的 @ComponentScan :启用组件扫描,这样你写的Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean。本章稍后会写一个简单的Spring MVC控制器,使用 @Controller 进行注解,这样组件扫描才能找到它。 Spring Boot 的 @EnableAutoConfiguration : 这 个 不 起 眼 的 小 注 解 也 可 以 称 为@Abracadabra,就是这一行配置开启了Spring Boot自动配置的魔力,让你不用再写成篇的配置了。
在Springboot早起需要配置这三个注解,现在只要配置@SpringBootApplication就可以了。
2.配置属性
项目生成了application.properties文件,这是一个可选的空文件,删掉也不会有影响。application.properties文件还可以通过修改名称变为application.yml文件,这种配置文件的格式更加好用。
3.起步依赖
在构建项目的时候,可以选择使用Maven库作为依赖库,同时还可以选择一些基础的依赖,比如数据库依赖,Thymeleaf和Spring Data JPA依赖,这些在构建项目后可以在pom.xml里看到。如果需要添加其他依赖,可以在直接在pom.xml文件里添加。起步依赖可以被覆盖,方式同向pom.xml添加依赖一样。