1. Spring Boot基本介绍及Eclipse插件安装(STS)
2. Spring Boot基本使用(Thymeleaf模板、国际化)
3. Spring Boot使用Thymeleaf模板引擎
4. Thymeleaf标签详细
5. Spring Boot自动配置
6. Spring Boot配置文件(yml、properties)
7. Spring Boot集成常用配置参数
8. Spring Boot常用注解及JPA注解
9. Spring Boot事务
10. Spring Boot热部署
11. Spring Boot中使用JSP
12. Spirng Boot自定义错误页面
13. Spring Boot防止表单重复提交实现方式
14. Spring Boot监听器、过滤器、拦截器
15. Spring Boot单元测试(Service、Mock、Feign、Http Rest API)
16. Spring Boot多线程基本使用
17. Spring Boot加载指定YML文件
(1)在普通的Java项目中,大量的XML文件配置起来是很繁琐就会导致开发效率低
(2)整合第三方框架的配置可能存在冲突问题导致部署效率低
(3)传统Java项目的打包方式:打包成一个war放入到tomcat webapps目录下进行执行,也就是说需要依赖外部的tomcat服务器才能执行
总结:J2EE笨重的开发、繁多的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大
Spring Boot(引导),是用来简化Spring应用的搭建到开发的过程
(1)应用开箱即用。只要通过“just run”(可能是java -jar或tomcat或maven插件run或shell脚本),就可以启动项目
(2)只要很少的Spring配置文件(yml,properties)
因为“习惯优先于配置”的原则,使得Spring Boot在快速开发应用和微服务架构实践中得到广泛应用
Spring Boot体现了极简的编程风格,大部分通用都是通过注解就可以完成
Spring Boot
(1)Spring Boot的项目打包方式:jar
(2)父工程:spring-boot-start-parent
(3)依赖:spring-boot-starter-web、maven插件spring-boot-maven-plugin
使用Spring Boot条件:①JDK环境和②Maven工具
Spring Boot推荐jdk1.7及以上,maven 3.3以上版本
Spring Boot使用习惯优于配置的理念,让项目快速运行起来,使用Spring Boot很容易创建一个独立运行的(运行Jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot可以不用或者很少使用Spring配置。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。
1.Spring Boot是Spring家族中的一个全新的框架,用来简化Spring应用程序的创建和开发过程,也可以说Spring Boot能简化之前采用Spring MVC + Spring + Mybatis框架进行开发的过程
2.在以往采用Spring MVC + Spring + Mybatis框架进行开发的时候,搭建和整合三大框架,需要做很多工作,比如配置web.xml,配置Spring,配置Mybatis,并将它们整合在一起等,而Spring Boot框架对此开发过程进行了革命性的颠覆,抛弃了繁琐的xml配置过程,采用大量的默认配置简化开发过程
3.Spring Boot可以非常容易和快速的创建基于Spring框架的应用程序,让编码变简单、配置变简单、部署变简单、监控也变简单
正因为Spring Boot它化繁为简,让开发变得极其简单和快捷,所以在业界备受关注。Spring Boot在国内的关注趋势也日渐超过Spring
(1)快速创建基于Spring的应用程序(简化配置)
(2)直接使用Java的main方法启动(启动类)。内嵌的Tomcat、Jetty服务器运行Spring Boot程序,不需要部署war包文件
(3)提供约定的starter(启动器)来简化Maven配置,让Maven配置变得简单。自动依赖与版本控制
(4)根据项目的maven依赖配置,Spring Boot自动配置Spring、Spring MVC等其它开源框架
(5)提供程序的健康检查等功能(检查内部的运行状态等)
(6)基本可以完全不使用XML配置文件。采用注解配置或者默认约定的配置(自动装配),代码中已经实现
Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行
Spring Boot可选择内嵌Tomcat、Jetty,无需以war包形式部署项目。提供starter简化Maven的配置,如使用spring-boot-starter-web时,会自动加入tomcat,web Mvc,jackson,hibernate-validate的jar
Spring Boot 会根据在类路径中的jar包,类为jar包里的类自动配置Bean
Spring Boot提供了基于http,ssh,telnet对运行时的项目进行监控。无代码生产和xml配置(spring 4.x中通过条件注解实现)
springsource-tool-suite插件是一个基于Eclipse的开发环境,为开发Spring应用程序而定制。它提供了一个即用的环境来实现,调试,运行和部署Spring应用程序,包括Pivotal tc服务器,Pivotal Cloud Foundry,Git,Maven,AspectJ的集成
springsource-tool-suite插件是为了Spring优化的Apache Tomcat的替代品。通过使用Spring Insight控制台,to Server Developer Edition提供了一个应用程序性能指标的图形实时视图,让开发人员能够从桌面识别和诊断问题
Spring Tool套件支持将应用程序定位到本地,虚拟和基于云的服务器。它可以免费提供开发和内部业务操作,没有时间限制
springsource-tool-suite插件压缩包下载安装:(需要对应Eclipse版本)
最新版下载地址:http://spring.io/tools/sts/all
所有版本链接地址:http://spring.io/tools/sts/legacy
Eclipse–>Help–>Install new Sofware -->添加压缩包;下一步、下一步安装即可
注意:操作完上述步骤,等待插件自动安装至Eclipse;也就是右下角到100%时,重启Eclipse即可。
Help–>Eclipse Marketplace–>在Find搜索框中输入spring(STS)–>回车搜索
注意:这里不是点Finish就安装完成了,注意看eclipse右下角installing software到百分之百时才是安装完成,安装完成后会提示重启如下选择重启即可
在线安装问题
一:插件比较大
二:外国网站网速比较慢
三:在线安装感觉就是经常有问题,其实不太推荐在线安装;但是离线安装又有问题没搞定所以只能演示在线安装
只要加入一个 Spring Boot启动父依赖即可
org.springframework.boot
spring-boot-starter-parent
2.2.2.RELEASE
org.springframework.boot
spring-boot-starter-web
junit
junit
4.12
org.springframework.boot
spring-boot-devtools
在pom.xml里面导入起步依赖 这个依赖包中整合了spring开发过程中大部分的依赖包,所有的Spring Boot工程都必须继承spring-boot-starter-parent
Devtools(热部署):配置完成 每当代码修改完了以后会自动编译,不需要重新部署 直接运行即可。
@Controller
public class IndexController {
@RequestMapping("index")
public String index() {
System.out.println("进来了!!!");
return "index";
}
}
@RestController和@RequestMapping注解是来自SpringMVC的注解,它们不是SpringBoot的特定部分
注解 | 描述 |
---|---|
@RestController | 提供实现了REST API,可以服务JSON、XML或者其他形式。这里是以String的形式渲染出结果 |
@RequestMapping | 提供路由信息。“/”路径的HTTP Request都会被映射到index方法进行处理 |
开箱即用。如Application类
// Spring Boot应用的标识
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
Application很简单,一个main函数作为主入口。SpringApplication引导应用,并将Application本身作为参数传递给run方法。具体run方法会启动嵌入式的Tomcat并初始化Spring环境及其各Spring组件
Just Run的宗旨,运行很简单,直接右键Run运行Application类。同样也可以Debug Run。可以在控制台中看到
Tomcat started on port(s): 8080 (http)
Started Application in 5.986 seconds (JVM running for 7.398)
访问:http://localhost:8080/index
点击Finish,右下角下载jar包,即可
目录 | 描述 |
---|---|
src/main/java | 存储主要的Java代码 |
SrpingBootApplication.java | 自动创建的Spring Boot入口文件,里面有个main方法 |
target | 源码编译后生成的class存放的地方,target文件下有两个目录。classes:存放项目代码编译后生成的class文件。test-classes:存放测试代码编译后生成的class文件 |
src/main/resources | 存放全局配置文件application.properties或application.yml文件静态文件及模板文件都会存在此文件夹下的子文件夹static和templates |
pom.xml | Maven的基础配置文件,所有的第三方依赖包都通过它配置 |
文件 | 描述 |
---|---|
static | 保存所有的静态资源:js、css、images |
templates | 保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认是不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf) |
properties、yml | Spring Boot应用的配置文件;可以修改一些默认设置 |
Spring Boot里面没有之前常规Web开发的WebContent(WebApp),它只有src目录;在src/main/resources下面有两个文件夹,static和templates;Spring Boot默认static中放静态页面,而templates中放动态页面