以下所有都摘录于《Spring Boot 实战》,
嗯,或者也有我的一些理解
Spring Boot 做了什么:
依赖管理,No ——> 起步依赖
XML配置,显示配置,No ——> 自动配置
Actuator(监控)
安装 Spring Boot CLI (Windows)
下载分发包
解压
把bin目录添加到系统路径
输入:spring --version
显示版本号
成功
CLI的命令行补全
CLI有一套运行,打包,测试的命令。
**spring shell** 命令开启了一个shell
在里面可以执行各种命令,也可以用Tab补全
通常情况
项目用Gradle构建出WAR文件
把文件部署到应用服务器
开发一个Spring应用程序Hello World
@RestController
class HelloController {
@RequestMapping("/")
def hello() {
return "Hello World"
}
}
spring run HelloController.groovy
对比
起步依赖
背景:用Spring MVC构造一个REST API,并将JSON作为资源表述,运用遵循JSR-303规范的声明式校验,使用嵌入式Tomcat服务器提供服务
Gradle中的依赖:
org.springframework:spring-core
org.springframework:spring-web
org.springframework:spring-webmvc
com.fasterxml.jackson.core:jackson-databind
org.hibernate:hibernate-validator
org.apache.tomcat.embed:tomcat-embed-core
org.apache.tomcat.embed:tomcat-embed-el
org.apache.tomcat.embed:tomcat-embed-logging-juli
Spring Boot起步依赖
org.springframework.boot:spring-boot-starter-web
自动配置
用JDBC访问关系型数据库,会在程序上下文配置JdbcTemplate这个Bean
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource)
}
这段Bean声明创建了一个JdbcTemplate实例,注入了一个DataSource依赖。需要配置一个DataSource的Bean来满足依赖。若配置一个嵌入式H2数据库作为DataSorce的Bean
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.addScripts('schema.sql','data.sql')
.build();
}
这个Bean方法创建了一个嵌入式数据库,并指定在该数据库上执行两段SQL脚本,build()方法返回了一个指向该数据库的引用。
Spring Boot: 自动配置
以上我们了解了Spring Boot是什么,能够做什么,提供了哪些简便和Spring Boot不是什么,以下将了解怎样初始化Spring Boot项目
使用Spring Initializr 初始化Spring Boot项目
Spring Initializr 是生成Java项目结构的Web应用程序,打开http://start.spring.io 就可以直接使用这个程序了。
通过IntelliJ IDEA 创建Spring Boot项目
在New Project中选择Spring Initializr,就可以新建项目并添加依赖了。
小结
自动配置消除了很多样板配置
起步依赖可以构建依赖通过库提供的功能而不是库的名称和版本号