SpringBoot介绍.ppt

上传人:小飞机 文档编号:5449062 上传时间:2023-07-08 格式:PPT 页数:28 大小:1.40MB
返回 下载 相关 举报
SpringBoot介绍.ppt_第1页
第1页 / 共28页
SpringBoot介绍.ppt_第2页
第2页 / 共28页
SpringBoot介绍.ppt_第3页
第3页 / 共28页
SpringBoot介绍.ppt_第4页
第4页 / 共28页
SpringBoot介绍.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《SpringBoot介绍.ppt》由会员分享,可在线阅读,更多相关《SpringBoot介绍.ppt(28页珍藏版)》请在三一办公上搜索。

1、SpringBoot,实战,主要内容,一、,springBoot,是什么,二、为什么要用,springBoot,三、,springBoot,旅程,四、,springBoot,总结,1.,什么是,springBoot?,多年以来,,Spring IO,平台饱受非议的一点就是大量的,XML,配置以及复杂的依,赖管理。在,2013,年的,SpringOne,2GX,会议上,,Pivotal,的,CTO Adrian Colyer,回,应了这些批评,并且特别提到该平台将来的目标之一就是实现免,XML,配置的开,发体验。,Boot,所实现的功能超出了这个任务的描述,开发人员不仅不再需要编,写,XML,,

2、而且在一些场景中甚至不需要编写繁琐的,import,语句。在对外公开的,beta,版本刚刚发布之时,,Boot,描述了如何使用该框架在,140,个字符内实现可运,行的,web,应用,从而获得了极大的关注度,该样例发表在,tweet,上。,1.,什么是,springBoot?,1,、,Spring Boot,是由,Pivotal,团队提供的全新框架,,Spring Boot,并不是要,成为,Spring IO,平台里面众多“Foundation”层项目的替代者。,Spring,Boot,的目标不在于为已解决的问题域提供新的解决方案,而是为平台带来,另一种开发体验,从而简化对这些已有技术的使用。,

3、2,、该框架使用了特定的方式,(,继承,starter,,,约定优先于配置,),来进,行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,,Boot,致力于在蓬勃发展的快速应用开发领域(,rapid application,development,)成为领导者。,3,、,Spring Boot,是基于,Spring4,进行设计,承了原有,Spring,框架的优秀基,因。它并不是一个框架,从根本上将,它就是一些库的集合,,maven,或者,gradle,项目导入相应依赖即可使用,Spring Boot,,而且无需自行管理这些,2.,为什么使用,springBoot?,1,、,Sprin

4、g Boot,是为简化,Spring,项目配置而生,使用它使得,jar,依赖管理,以及应用编译和部署更为简单。,Spring Boot,提供自动化配置,使用,Spring Boot,,你只需编写必要的代码和配置必须的属性。,2,、使用,Spring Boot,,只需,20,行左右的代码即可生成一个基本的,Spring,Web,应用,并且内置了,tomcat,,构建的,fat Jar,包通过,java-jar,就可以直,接运行。,3,、如下特性使得,Spring Boot,非常契合微服务的概念,可以结合,Spring,Boot,与,Spring Cloud,和,Docker,技术来构建微服务并部

5、署到云端:,一个可执行,jar,即为一个独立服务,很容易加载到容器,每个服务可以在自己的容器(例如,docker,)中运行,通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展,也更容易,3,、,springBoot,有哪些特性?,1,、无需手动管理依赖,jar,包的版本,Spring-boot-*,的,jar,包已对一些功能性,jar,包进行了集成,示例如下:,spring,-boot-starter,核心,Spring Boot starter,,包括自动配置支持,日,志和,YAML,spring,-boot-starter-actuator,生产准备的特性,用于帮你监控和,管,

6、理应用,spring,-boot-starter-web,对全栈,web,开发的支持,包括,Tomcat,和,spring-webmvc,spring,-boot-starter-aop,对面向切面编程的支持,包括,spring-aop,和,AspectJ,spring,-boot-starter-jdbc,对,JDBC,数据库的支持,spring,-boot-starter-security,对,spring-security,的支持,3,、,springBoot,有哪些特性?,1,、无需手动管理依赖,jar,包的版本:,spring,-boot-starter-amqp,通过,spring

7、-rabbit,来支持,AMQP,协议(,Advanced Message Queuing,Protocol,)。,spring,-boot-starter-ws,支持,Spring Web Services,。,spring,-boot-starter-redis,支持,Redis,键值存储数据库,包括,spring-redis,。,spring-boot-starter-test,支持常规的测试依赖,包括,JUnit,、,Hamcrest,、,Mockito,以及,spring-test,模块。,3,、,springBoot,有哪些特性?,2,、独立运行的,Spring,项目,Spring

8、 Boot,默认将应用打包成一个可执行的,jar,包文件,构建成功后使用,java-jar,命令即可运行应用。或者在应用项目的主程序中运行,main,函数即,可,不需要依赖,tomcat,、,jetty,等外部的应用服务器。,其中内置的,servlet,Container:,此外,你仍然可以部署,Spring Boot,项目到任何兼容,Servlet3.0+,的容器。,Name,Servlet Version,Java Version,Tomcat 8,3.1,Java 7+,Tomcat 7,3.0,Java 6+,Jetty 9.3,3.1,Java 8+,Jetty 9.2,3.1,Ja

9、va 7+,Jetty 8,3.0,Java 6+,3,、,springBoot,有哪些特性?,3,、自动配置,无需,xml,Spring Boot尝试根据你添加的,jar,依赖自动配置你的应用。例如,如果,HSQLDB,在类路径中,并且你没有手动配置任何,db,连接,bean,,则,Spring,Boot,会自动配置一个内存,db,。,使用,EnableAutoConfiguration,或者,SpringBootApplication,注解,,配合,Configuration,注解类,即可达到自动配置的目的。,Spring Boot的这种自动配置是非侵入式的,你可以定义自己的配置或,bea

10、n,来替代自动配置的内容。,3,、,springBoot,有哪些特性?,4,、外部化配置,Spring Boot,可以使用,properties,文件,,YAML,文件,环境变量,命令行,参数等来外部化配置。属性值可以使用,Value,注解直接注入到,bean,中,,并通过,Spring,的,Environment,抽象或经过,ConfigurationProperties,注,解绑定到结构化对象来访问。实例如下,:,Component,ConfigurationProperties(prefix=spring.datasource),public class ApplicationUtil,

11、private String name;,private String url;,3,、,springBoot,有哪些特性?,5,、嵌入式,servlet,容器,Spring Boot,的,web,模块内置嵌入的,Tomcat,Jetty,Undertow,来构建自,包含的,Servlet,容器。,web,应用打包成可执行,jar,包时,相应的,servlet,容器,也会被嵌入到应用,jar,中。并且,servlets,filters,和,listeners,都可以通过声,明为,bean,来被容器注册。,servlet,容器还可以通过外部化配置来相关定制,属性,如,等。,application

12、.yml,配置,server,的端口号和,session,超时时间,需要注意的是,,使用,.yml,时,属性名的值和冒号中间必须有空格,如下:,server:,port:8888,session-timeout:60,3,、,springBoot,有哪些特性?,6,、开启,devtools,特性,devtools,的热部署和自动重启,要想在,Eclipse,中使用,Devtools,的重启功能,需要将自动编译功能打开。,每次保存文件并自动编译后,,devtools,会检测到,classpath,内容的修改,,并触发应用重启。重启时实际只重新加载了一部分类,因此速度会非常,快。详细原理会在后面教

13、程里介绍。,devtools,的,livereload,开启,devtools,特性的应用在启动时会启动一个,livereload,的,server,,在浏,览器(如,chrome,,,Firefox,)安装,livereload,插件后,该插件会监测到,livereload,server,的更新,并自动刷新页面。,3,、,springBoot,注解,1,、,SpringBootApplication,申明让,spring boot,自动给程序进行必要的配置,这个配置等同于:,Configuration,,,EnableAutoConfiguration,和,ComponentScan,三个配

14、置。,3,、,springBoot,注解,2,、,ResponseBody,该注解修饰的函数,会将结果直接填充到,HTTP,的响应体中,一般用于,构建,RESTful,的,api,,该注解一般会配合,RequestMapping,一起使用。,示例代码:,RequestMapping(/test),ResponseBody,public String test(),returnok;,3,、,springBoot,注解,3,、,Controller,用于定义控制器类,在,spring,项目中由控制器负责将用户发来的,URL,请求转发到对应的服务接口(,service,层),一般这个注解在类中,通

15、常,方法需要配合注解,RequestMapping,。,4,、,RestController,ResponseBody,和,Controller,的合集。,3,、,springBoot,注解,5,、,EnableAutoConfiguration,Spring Boot,自动配置(,auto-configuration,):尝试根据你添加的,jar,依赖自动配置你的,Spring,应用。例如,如果你的,classpath,下存在,HSQLDB,,并且你没有手动配置任何数据库连接,beans,,那么我们将自动,配置一个内存型(,in-memory,)数据库”。,你可以将,EnableAutoCo

16、nfiguration,或者,SpringBootApplication,注解添加到一个,Configuration,类上来选择自动配置。如果发现应用了,你不想要的特定自动配置类,你可以使用,EnableAutoConfiguration,注解的排除属性来禁用它们。,3,、,springBoot,注解,6,、,ComponentScan,表示将该类自动发现(扫描)并注册为,Bean,,可以自动收集所有的,Spring,组件,包括,Configuration,类。我们经常使用,ComponentScan,注解搜索,beans,,并结合,Autowired,注解导入。如,果没有配置的话,,Spri

17、ng Boot,会扫描启动类所在包下以及子包下的使用,了,Service,Repository,等注解的类。,3,、,springBoot,注解,7,、,Configuration,相当于传统的,xml,配置文件,如果有些第三方库需要用到,xml,文件,,建议仍然通过,Configuration,类作为项目的配置主类可以使用,ImportResource,注解加载,xml,配置文件。,Configuration,EnableAutoConfiguration,public class RedisConfig,Bean(name=jedisPoolConfig),ConfigurationPro

18、perties(prefix=spring.redis),public JedisPoolConfig,getRedisConfig(),return new JedisPoolConfig();,3,、,springBoot,注解,8,、,PropertySource,如果需要有自定义的属性文件需要加载,可以使用该注解进行注入,,并用,Value,配合使用。,Component,PropertySource(value=classpath:config.properties),public class ConfigUtil,Value($hos.id),private String hosI

19、d;,Value($hos.name),private String hosName;,3,、,springBoot,注解,9,、,ImportResource,用来加载,xml,配置文件。,10,、,Bean,用,Bean,标注方法等价于,XML,中配置的,bean,。,11,、,Value,注入,Spring boot application.properties,配置的属性的值。,Value(value=#message),private String message;,3,、,springBoot,应用讲解,1,、与,MyBatis,的集成,org.mybatis.spring.boo

20、t,mybatis-spring-boot-starter,1.1.1,2,、与,Redis,的集成,org.springframework.boot,spring-boot-starter-redis,3,、,Junit,进行单元测试,org.springframework.boot,spring-boot-starter-test,3,、,springBoot,之,helloworld,1,、创建,maven,项目,2.,引入,springboot,依赖,3.,编写,controller,3,、,springBoot,之,helloworld,3,、,springBoot,的发布,1,、将

21、,springBoot,项目打包成,jar,可以使用,maven,将项目打包成,jar,文件,并使用,java,-jar,命令运行主,main,方法,将项目运行起来。,3,、,springBoot,的发布,2,、将,springBoot,项目打包成,war,1.pom,文件的命令将,jar,修改为,war,。,2,、入口类实现,SpringBootServletInitializer,方法,重写方法:,Override,protected SpringApplicationBuilder,configure(SpringApplicationBuilder,application),retur

22、n application.sources(Application.class);,3,、这里指定打包的时候不再需要,tomcat,相关的包,org.springframework.boot,spring-boot-starter-tomcat,4,、,springBoot,总结,1,、,SpringBoot,使配置变简单,多个,一个,AutoWire,XML Config,setBean(Bean bean),Java Config,*.properties,*.xml,Application.yml,Application.properties,4,、,springBoot,总结,2,、,

23、SpringBoot,使部署变简单,YOU CODE,3rd Libraries,Embedded,HTTP Container,一键启动,Java,jar xx.jar,不需要预部署应用服务器,webLogic,Application Server,Tomcat,Jboss,降低对运行环境的基本要求,环境变量中有,JDK,即可,全量更新,默认内嵌,Tomcat,,可换成,Jetty,4,、,springBoot,总结,3,、,SpringBoot,使监控变简单,Spring-boot-,actuator,HTTP GET/configprops,查看属性配置,HTTP GET/dump,线程工作状态,HTTP GET/env/name,环境变量,HTTP GET/metrics/name JVM,性能指标,HTTP GET/mappings RESTful,Path,与服务类映射关系,共十余项,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号