SpringBoot入门培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• ·spring-boot-starter 核心Spring Boot starter,包括自动配置支持,日志 和YAML
• ·spring-boot-starter-actuator 生产准备的特性,用于帮你监控和 管 理应用
• ·spring-boot-starter-web 对全栈web开发的支持,包括Tomcat和 spring-webmvc
SpringBoot入门培训
1
● • 一主、要sp内ring容Boot的简介
• 二、springBoot注解 • 三、springBoot应用讲解 • 四、springBoot的发布 • 五、springBoot总结
2
1、springBoot背景
• 多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依 赖管理。在2013年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了 这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发 体验。Boot所实现的功能超出了这个任务的描述,开发人员不仅不再需要编 写XML,而且在一些场景中甚至不需要编写繁琐的import语句。在对外公开的 beta版本刚刚发布之时,Boot描述了如何使用该框架在140个字符内实现可运 行的web应用,从而获得了极大的关注度,该样例发表在tweet上。
• ·一个可执行jar即为一个独立服务
• ·很容易加载到容器,每个服务可以在自己的容器(例如docker)中运 行
• ·通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩 展
5
• 1、无需手动管理依赖jar包的版本
3、springBoot有哪些特性? • Spring-boot-*的jar包已对一些功能性jar包进行了集成,示例如下:
• Spring Boot的web模块内置嵌入的Tomcat, Jetty, Undertow来构建 自包含的Servlet容器。web应用打包成可执行jar包时,相应的 servlet 容器也会被嵌入到应用jar中。并且servlets, filters和listeners 都可以通过声明为bean来被容器注册。servlet容器还可以通过外部化 配置来相关定制属性,如server.port, server.session.persistence等 。
• ·spring-boot-starter 核心Spring Boot starter,包括自动配置支持,日志 和YAML
• ·spring-boot-starter-actuator 生产准备的特性,用于帮你监控和 管 理应用
• ·spring-boot-starter-web 对全栈web开发的支持,包括Tomcat和 spring-webmvc
• ·devtools的livereload
13
●主要内容
• 一、springBoot的简介 • 二、springBoot注解 • 三、springBoot应用讲解 • 四、springBoot的发布 • 五、springBoot总结14ຫໍສະໝຸດ 3、springBoot注解
• 1、@SpringBootApplication
19
3、springBoot注解 •
相当于传统的xml配置文件,如果有些第三方库需要用到xml文件
,建议仍然通过@Configuration类作为项目的配置主类——可以使
用@ImportResource注解加载xml配置文件。
• @Configuration • @EnableAutoConfiguration • public class RedisConfig {
• ·spring-boot-starter-aop 对面向切面编程的支持,包括 spring-aop 和AspectJ
• ·spring-boot-starter-jdbc 对JDB6C数据库的支持
• 1、无需手动管理依赖jar包的版本
3、springBoot有哪些特性? • Spring-boot-*的jar包已对一些功能性jar包进行了集成,示例如下:
• 2、该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置 ,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致 力于在蓬勃发展的快速应用开发领域(rapid application development) 成为领导者。 3、Spring Boot是基于Spring4进行设计,承了原有Spring框架的优秀基因 。它并不是一个框架,从根本上将,它就是一些库的集合,maven或者 gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些 库的版本。
• application.yml配置server的端口号和session超时时间,需要注意的 是,使用.yml时,属性名的值和冒号中间必须有空格,如下:
• server:
12
• 36、、开s启pdervitonogls特B性oot有哪些特性?
• ·devtools的热部署和自动重启
• 要想在Eclipse中使用Devtools的重启功能,需要将自动编译功能打开 。每次保存文件并自动编译后,devtools会检测到classpath内容的修 改,并触发应用重启。重启时实际只重新加载了一部分类,因此速度 会非常快。详细原理会在后面教程里介绍。
解,配
合@Configuration注解类,即可达到自动配置的目的。
• · Spring Boot的这种自动配置是1非0 侵入式的,你可以定义自己的配置
• 4、外部化配置
3、springBoot有哪些特性?
• Spring Boot可以使用properties文件,YAML文件,环境变量,命令 行参数等来外部化配置。属性值可以使用@Value注解直接注入到 bean中,并通过Spring的Environment抽象或经过 @ConfigurationProperties注解绑定到结构化对象来访问。实例如下 :
18
3、springBoot注解
• 6、@ComponentScan
• 表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有 的Spring组件,包括@Configuration类。我们经常使用 @ComponentScan注解搜索beans,并结合@Autowired注解导入 。如果没有配置的话,Spring Boot会扫描启动类所在包下以及子包 下的使用了@Service,@Repository等注解的类。
4
及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring
2、为什么使用springBoot? Boot,你只需编写必要的代码和配置必须的属性。
2、使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的fat Jar包通过java -jar就可以直接 运行。 3、如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:
• 申明让spring boot自动给程序进行必要的配置,这个配置等同于 :
• @Configuration , @EnableAutoConfiguration 和 @ComponentScan 三个配置。
15
• 32、、@sRpesproinnsegBoBdoy ot注解
• 该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般 用于构建RESTful的api,该注解一般会配合@RequestMapping一起 使用。
• ·spring-boot-starter-aop 对面向切面编程的支持,包括 spring-aop 和AspectJ
• ·spring-boot-starter-jdbc 对JDB7C数据库的支持
• 1、无需手动管理依赖jar包的版本:
3、springBoot有哪些特性?
• ·spring-boot-starter-amqp • 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol
• @Component
• @ConfigurationProperties(prefix="spring.datasource")
• public class ApplicationUtil {
• private String name;
11
• 35、、嵌s入p式rseirnvlegt容B器oot有哪些特性?
3
2、什么是springBoot? • 1、Spring Boot是由Pivotal团队提供的全新框架,Spring Boot并不是要成 为Spring IO平台里面众多“Foundation”层项目的替代者。Spring Boot的 目标不在于为已解决的问题域提供新的解决方案,而是为平台带来另一 种开发体验,从而简化对这些已有技术的使用。
• 你可以将@EnableAutoConfiguration或者 @SpringBootApplication注解添加到一个@Configuration类上来选 择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使 用@EnableAutoConfiguration注解的排除属性来禁用它们。
• 其中内置的servlet Container:
Name
Tomcat 8 Tomcat 7 Jetty 9.3 Jetty 9.2
Jetty 8
Servlet Version
3.1 3.0 3.1 3.1 3.0
9
Java Version
Java 7+ Java 6+ Java 8+ Java 7+ Java 6+
3、springBoot有哪些特性?
• 3、自动配置,无需xml
• · Spring Boot尝试根据你添加的jar依赖自动配置你的应用。例如,如 果HSQLDB在类路径中,并且你没有手动配置任何db连接bean,则 Spring Boot会自动配置一个内存db。
•
• ·使用@EnableAutoConfiguration或者@SpringBootApplication注
• 4、@RestController • @ResponseBody和@Controller的合集。
17
3、springBoot注解
• 5、@EnableAutoConfiguration
• Spring Boot自动配置(auto-configuration):尝试根据你添加 的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存 在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们 将自动配置一个内存型(in-memory)数据库”。
)。
• ·spring-boot-starter-ws • 支持Spring Web Services。
• ·spring-boot-starter-redis • 支持Redis键值存储数据库,包括spring-redis。 • ·spring-boot-starter-test 8
• 3Sp、ringsBpoorti默n认g将B应用o打o包t成有一个哪可执些行的特jar性包文?件,构建成功后使 用java -jar命令即可运行应用。或者在应用项目的主程序中运行main函 数即可,不需要依赖tomcat、jetty等外部的应用服务器。
•
• @Bean(name="jedisPoolConfig") • @ConfigurationProperties(prefix="spring.redis")
• 示例代码: • @RequestMapping("/test") • @ResponseBody • public String test(){
16
3、springBoot注解
• 3、@Controller
• 用于定义控制器类,在spring 项目中由控制器负责将用户发来的 URL请求转发到对应的服务接口(service层),一般这个注解在类中 ,通常方法需要配合注解@RequestMapping。
• ·spring-boot-starter-actuator 生产准备的特性,用于帮你监控和 管 理应用
• ·spring-boot-starter-web 对全栈web开发的支持,包括Tomcat和 spring-webmvc
SpringBoot入门培训
1
● • 一主、要sp内ring容Boot的简介
• 二、springBoot注解 • 三、springBoot应用讲解 • 四、springBoot的发布 • 五、springBoot总结
2
1、springBoot背景
• 多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依 赖管理。在2013年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了 这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发 体验。Boot所实现的功能超出了这个任务的描述,开发人员不仅不再需要编 写XML,而且在一些场景中甚至不需要编写繁琐的import语句。在对外公开的 beta版本刚刚发布之时,Boot描述了如何使用该框架在140个字符内实现可运 行的web应用,从而获得了极大的关注度,该样例发表在tweet上。
• ·一个可执行jar即为一个独立服务
• ·很容易加载到容器,每个服务可以在自己的容器(例如docker)中运 行
• ·通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩 展
5
• 1、无需手动管理依赖jar包的版本
3、springBoot有哪些特性? • Spring-boot-*的jar包已对一些功能性jar包进行了集成,示例如下:
• Spring Boot的web模块内置嵌入的Tomcat, Jetty, Undertow来构建 自包含的Servlet容器。web应用打包成可执行jar包时,相应的 servlet 容器也会被嵌入到应用jar中。并且servlets, filters和listeners 都可以通过声明为bean来被容器注册。servlet容器还可以通过外部化 配置来相关定制属性,如server.port, server.session.persistence等 。
• ·spring-boot-starter 核心Spring Boot starter,包括自动配置支持,日志 和YAML
• ·spring-boot-starter-actuator 生产准备的特性,用于帮你监控和 管 理应用
• ·spring-boot-starter-web 对全栈web开发的支持,包括Tomcat和 spring-webmvc
• ·devtools的livereload
13
●主要内容
• 一、springBoot的简介 • 二、springBoot注解 • 三、springBoot应用讲解 • 四、springBoot的发布 • 五、springBoot总结14ຫໍສະໝຸດ 3、springBoot注解
• 1、@SpringBootApplication
19
3、springBoot注解 •
相当于传统的xml配置文件,如果有些第三方库需要用到xml文件
,建议仍然通过@Configuration类作为项目的配置主类——可以使
用@ImportResource注解加载xml配置文件。
• @Configuration • @EnableAutoConfiguration • public class RedisConfig {
• ·spring-boot-starter-aop 对面向切面编程的支持,包括 spring-aop 和AspectJ
• ·spring-boot-starter-jdbc 对JDB6C数据库的支持
• 1、无需手动管理依赖jar包的版本
3、springBoot有哪些特性? • Spring-boot-*的jar包已对一些功能性jar包进行了集成,示例如下:
• 2、该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置 ,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致 力于在蓬勃发展的快速应用开发领域(rapid application development) 成为领导者。 3、Spring Boot是基于Spring4进行设计,承了原有Spring框架的优秀基因 。它并不是一个框架,从根本上将,它就是一些库的集合,maven或者 gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些 库的版本。
• application.yml配置server的端口号和session超时时间,需要注意的 是,使用.yml时,属性名的值和冒号中间必须有空格,如下:
• server:
12
• 36、、开s启pdervitonogls特B性oot有哪些特性?
• ·devtools的热部署和自动重启
• 要想在Eclipse中使用Devtools的重启功能,需要将自动编译功能打开 。每次保存文件并自动编译后,devtools会检测到classpath内容的修 改,并触发应用重启。重启时实际只重新加载了一部分类,因此速度 会非常快。详细原理会在后面教程里介绍。
解,配
合@Configuration注解类,即可达到自动配置的目的。
• · Spring Boot的这种自动配置是1非0 侵入式的,你可以定义自己的配置
• 4、外部化配置
3、springBoot有哪些特性?
• Spring Boot可以使用properties文件,YAML文件,环境变量,命令 行参数等来外部化配置。属性值可以使用@Value注解直接注入到 bean中,并通过Spring的Environment抽象或经过 @ConfigurationProperties注解绑定到结构化对象来访问。实例如下 :
18
3、springBoot注解
• 6、@ComponentScan
• 表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有 的Spring组件,包括@Configuration类。我们经常使用 @ComponentScan注解搜索beans,并结合@Autowired注解导入 。如果没有配置的话,Spring Boot会扫描启动类所在包下以及子包 下的使用了@Service,@Repository等注解的类。
4
及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring
2、为什么使用springBoot? Boot,你只需编写必要的代码和配置必须的属性。
2、使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的fat Jar包通过java -jar就可以直接 运行。 3、如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:
• 申明让spring boot自动给程序进行必要的配置,这个配置等同于 :
• @Configuration , @EnableAutoConfiguration 和 @ComponentScan 三个配置。
15
• 32、、@sRpesproinnsegBoBdoy ot注解
• 该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般 用于构建RESTful的api,该注解一般会配合@RequestMapping一起 使用。
• ·spring-boot-starter-aop 对面向切面编程的支持,包括 spring-aop 和AspectJ
• ·spring-boot-starter-jdbc 对JDB7C数据库的支持
• 1、无需手动管理依赖jar包的版本:
3、springBoot有哪些特性?
• ·spring-boot-starter-amqp • 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol
• @Component
• @ConfigurationProperties(prefix="spring.datasource")
• public class ApplicationUtil {
• private String name;
11
• 35、、嵌s入p式rseirnvlegt容B器oot有哪些特性?
3
2、什么是springBoot? • 1、Spring Boot是由Pivotal团队提供的全新框架,Spring Boot并不是要成 为Spring IO平台里面众多“Foundation”层项目的替代者。Spring Boot的 目标不在于为已解决的问题域提供新的解决方案,而是为平台带来另一 种开发体验,从而简化对这些已有技术的使用。
• 你可以将@EnableAutoConfiguration或者 @SpringBootApplication注解添加到一个@Configuration类上来选 择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使 用@EnableAutoConfiguration注解的排除属性来禁用它们。
• 其中内置的servlet Container:
Name
Tomcat 8 Tomcat 7 Jetty 9.3 Jetty 9.2
Jetty 8
Servlet Version
3.1 3.0 3.1 3.1 3.0
9
Java Version
Java 7+ Java 6+ Java 8+ Java 7+ Java 6+
3、springBoot有哪些特性?
• 3、自动配置,无需xml
• · Spring Boot尝试根据你添加的jar依赖自动配置你的应用。例如,如 果HSQLDB在类路径中,并且你没有手动配置任何db连接bean,则 Spring Boot会自动配置一个内存db。
•
• ·使用@EnableAutoConfiguration或者@SpringBootApplication注
• 4、@RestController • @ResponseBody和@Controller的合集。
17
3、springBoot注解
• 5、@EnableAutoConfiguration
• Spring Boot自动配置(auto-configuration):尝试根据你添加 的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存 在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们 将自动配置一个内存型(in-memory)数据库”。
)。
• ·spring-boot-starter-ws • 支持Spring Web Services。
• ·spring-boot-starter-redis • 支持Redis键值存储数据库,包括spring-redis。 • ·spring-boot-starter-test 8
• 3Sp、ringsBpoorti默n认g将B应用o打o包t成有一个哪可执些行的特jar性包文?件,构建成功后使 用java -jar命令即可运行应用。或者在应用项目的主程序中运行main函 数即可,不需要依赖tomcat、jetty等外部的应用服务器。
•
• @Bean(name="jedisPoolConfig") • @ConfigurationProperties(prefix="spring.redis")
• 示例代码: • @RequestMapping("/test") • @ResponseBody • public String test(){
16
3、springBoot注解
• 3、@Controller
• 用于定义控制器类,在spring 项目中由控制器负责将用户发来的 URL请求转发到对应的服务接口(service层),一般这个注解在类中 ,通常方法需要配合注解@RequestMapping。