SpringBoot简单入门
Spring Boot好处: 。。。。。一大堆,本人就不罗列了。
1.1 准备工作
- JDK 1.8+
- Maven 3.2+ (3.6.1安装教程)
- IntelliJ IDEA(2019.2.2安装教程)
注意:
JDK 安装、Maven 安装、Git 安装和 IntelliJ IDEA 开发工具安装可参照对应教程链接。
1.2 创建一个Spring Boot工程
其实 Spring Boot 工程本质上就是一个 Maven 工程,这里说下两种不同的创建方式:
1.2.1 在线创建
这是官方提供的创建方法,使用http://start.spring.io/来构建一个简单的Spring Boot项目。
- 访问:http://start.spring.io/
- 选择构建工具 Maven Project、Java、Spring Boot 版本 2.1.8 以及一些工程基本信息,可参考下图所示:
SpringInitializr
- 点击Generate Project下载项目压缩包
- 导入到你的工程,如果是IDEA,则需要:
a.菜单中选择File–>New–>Project from Existing Sources...
b.选择解压后的项目文件夹,点击OK。
c.点击Import project from external model并选择Maven,点击Next到底为止。
d.选择Java SDK为jdk1.8。
1.2.2 IDEA创建
菜单中选择File–>New–>Project,选择Spring Initializr,然后如下图操作:
1.2.3 项目结构
这是默认的工程结构:
java 目录中是编写代码的源目录,test 目录是编写单元测试的目录。
resources 目录会有 application.properties 应用配置文件,还有默认生成的 static 和 templates 目录,static 用于存放静态资源文件,templates 用于存放模板文件。可以在 application.properties 中自定义配置资源和模板目录。
pom.xml:Maven构建说明文件。
1.3 解析pom.xml
1.3.1 spring boot 父级依赖
org.springframework.boot
spring-boot-starter-parent
2.1.8.RELEASE
这是Spring Boot父级依赖,parent它继承自 spring-boot-dependencies,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号。
1.3.2 spring-boot-starter-xx 启动依赖
org.springframework.boot
spring-boot-starter-mail
Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的,通过提供众多起步依赖降低项目依赖的复杂度。
1.3.3 Spring Boot Maven插件
org.springframework.boot
spring-boot-maven-plugin
把项目打包成一个可执行的jar。
1.4 应用类
1.4.1启动应用类
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication,这是一个组合注解,主要包含了:
- @SpringBootConfiguration(包含@Configuration),也是一个组合注解
在Spring Boot项目中替代@Configuration - @EnableAutoConfiguration,Spring Boot的强大之处,
该注解会使spring boot根据项目的jar包进行自动配置,查看maven依赖
可以看到有一个spring-boot-autoconfigure-xxx.jar,这里有很多spring配置类,
如:我们添加了spring-boot-starter-web, 项目中自动引入SpringMVC 的相关jar,Spring Boot就自动配置tomcat和springMVC相关bean - @ComponentScan,默认扫描@SpringBootApplication所在类目录及它的子目录
@SpringBootApplication的exclude属性:关闭配置,
如果我们在项目中引入了solrj的相关包,spring boot会自动为我们创建solr
的相关bean,但有时候我们希望自己配置bean,这时可以这样:
@SpringBootApplication(exclude={SolrAutoConfiguration.class})
这样就可以自己写java spring 配置类或xml,配置solr的相关bean了
同样的,如果你不想引入Spring Boot默认的依赖可以在pom.xml中使用
1.4.2 Controller类
@RestController
@RequestMapping("/home")
public class EmailController {
.....
}
- @RestController:提供实现了REST API,可以服务JSON,XML或者其他。
- @RequestMapping:提供路由映射信息。