SpringBoot入门培训.ppt
《SpringBoot入门培训.ppt》由会员分享,可在线阅读,更多相关《SpringBoot入门培训.ppt(34页珍藏版)》请在咨信网上搜索。
SpringBoot入门培训主要内容一、springBoot的简介二、springBoot注解三、springBoot应用讲解四、springBoot的发布五、springBoot总结1、springBoot背景多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理。在2013年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发体验。Boot所实现的功能超出了这个任务的描述,开发人员不仅不再需要编写XML,而且在一些场景中甚至不需要编写繁琐的import语句。在对外公开的beta版本刚刚发布之时,Boot描述了如何使用该框架在140个字符内实现可运行的web应用,从而获得了极大的关注度,该样例发表在tweet上。2、什么是springBoot?1、Spring Boot是由Pivotal团队提供的全新框架,Spring Boot并不是要成为Spring IO平台里面众多“Foundation”层项目的替代者。Spring Boot的目标不在于为已解决的问题域提供新的解决方案,而是为平台带来另一种开发体验,从而简化对这些已有技术的使用。2、该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。3、Spring Boot是基于Spring4进行设计,承了原有Spring框架的优秀基因。它并不是一个框架,从根本上将,它就是一些库的集合,maven或者gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。2、为什么使用springBoot?1、Spring 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技术来构建微服务并部署到云端:一个可执行jar即为一个独立服务很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展 也更容易3、springBoot有哪些特性?1、无需手动管理依赖jar包的版本Spring-boot-*的jar包已对一些功能性jar包进行了集成,示例如下:spring-boot-starter核心Spring Boot starter,包括自动配置支持,日志和YAML spring-boot-starter-actuator生产准备的特性,用于帮你监控和管理应用 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-*的jar包已对一些功能性jar包进行了集成,示例如下:spring-boot-starter核心Spring Boot starter,包括自动配置支持,日志和YAML spring-boot-starter-actuator生产准备的特性,用于帮你监控和管理应用 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-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项目SpringBoot默认将应用打包成一个可执行的jar包文件,构建成功后使用java-jar命令即可运行应用。或者在应用项目的主程序中运行main函数即可,不需要依赖tomcat、jetty等外部的应用服务器。其中内置的servletContainer:此外,你仍然可以部署SpringBoot项目到任何兼容Servlet3.0+的容器。NameServlet VersionJava VersionTomcat83.1Java7+Tomcat73.0Java6+Jetty9.33.1Java8+Jetty9.23.1Java7+Jetty83.0Java6+3、springBoot有哪些特性?3、自动配置,无需xmlSpringBoot尝试根据你添加的jar依赖自动配置你的应用。例如,如果HSQLDB在类路径中,并且你没有手动配置任何db连接bean,则SpringBoot会自动配置一个内存db。使用EnableAutoConfiguration或者SpringBootApplication注解,配合Configuration注解类,即可达到自动配置的目的。SpringBoot的这种自动配置是非侵入式的,你可以定义自己的配置或bean来替代自动配置的内容。3、springBoot有哪些特性?4、外部化配置SpringBoot可以使用properties文件,YAML文件,环境变量,命令行参数等来外部化配置。属性值可以使用Value注解直接注入到bean中,并通过Spring的Environment抽象或经过ConfigurationProperties注解绑定到结构化对象来访问。实例如下:ComponentConfigurationProperties(prefix=spring.datasource)public class ApplicationUtil private String name;private String url;3、springBoot有哪些特性?5、嵌入式servlet容器SpringBoot的web模块内置嵌入的Tomcat,Jetty,Undertow来构建自包含的Servlet容器。web应用打包成可执行jar包时,相应的servlet容器也会被嵌入到应用jar中。并且servlets,filters和listeners都可以通过声明为bean来被容器注册。servlet容器还可以通过外部化配置来相关定制属性,如server.port,server.session.persistence等。application.yml配置server的端口号和session超时时间,需要注意的是,使用.yml时,属性名的值和冒号中间必须有空格,如下:server:port:8888session-timeout:603、springBoot有哪些特性?6、开启devtools特性devtools的热部署和自动重启要想在Eclipse中使用Devtools的重启功能,需要将自动编译功能打开。每次保存文件并自动编译后,devtools会检测到classpath内容的修改,并触发应用重启。重启时实际只重新加载了一部分类,因此速度会非常快。详细原理会在后面教程里介绍。devtools的livereload开启devtools特性的应用在启动时会启动一个livereload的server,在浏览器(如chrome,Firefox)安装livereload插件后,该插件会监测到livereloadserver的更新,并自动刷新页面。主要内容一、springBoot的简介二、springBoot注解三、springBoot应用讲解四、springBoot的发布五、springBoot总结3、springBoot注解1、SpringBootApplication申明让springboot自动给程序进行必要的配置,这个配置等同于:Configuration,EnableAutoConfiguration和ComponentScan三个配置。3、springBoot注解2、ResponseBody 该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般用于构建RESTful的api,该注解一般会配合RequestMapping一起使用。示例代码:RequestMapping(/test)ResponseBody public String test()returnok;3、springBoot注解3、Controller用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解RequestMapping。4、RestControllerResponseBody和Controller的合集。3、springBoot注解5、EnableAutoConfigurationSpringBoot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。你可以将EnableAutoConfiguration或者SpringBootApplication注解添加到一个Configuration类上来选择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使用EnableAutoConfiguration注解的排除属性来禁用它们。3、springBoot注解6、ComponentScan 表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括Configuration类。我们经常使用ComponentScan注解搜索beans,并结合Autowired注解导入。如果没有配置的话,SpringBoot会扫描启动类所在包下以及子包下的使用了Service,Repository等注解的类。3、springBoot注解7、Configuration 相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过Configuration类作为项目的配置主类可以使用ImportResource注解加载xml配置文件。Configuration EnableAutoConfiguration public class RedisConfig Bean(name=jedisPoolConfig)ConfigurationProperties(prefix=spring.redis)public JedisPoolConfig getRedisConfig()return new JedisPoolConfig();3、springBoot注解8、PropertySource 如果需要有自定义的属性文件需要加载,可以使用该注解进行注入,并用Value配合使用。ComponentPropertySource(value=classpath:config.properties)public class ConfigUtil Value($hos.id)private String hosId;Value($hos.name)private String hosName;3、springBoot注解9、ImportResource用来加载xml配置文件。10、Bean用Bean标注方法等价于XML中配置的bean。11、Value注入Springbootapplication.properties配置的属性的值。Value(value=#message)private String message;3、springBoot注解12、Environmentorg.springframework.core.env.Environment,环境类,spring3.1以后开始引入。比如JDK环境,Servlet环境,Spring环境等等;每个环境都有自己的配置数据,如System.getProperties()、System.getenv()等可以拿到JDK环境数据;ServletContext.getInitParameter()可以拿到Servlet环境配置数据等等;也就是说Spring抽象了一个Environment来表示环境配置。在springBoot中使用直接用Resource注入,即可获得系统配置文件application.properties/yml的属性值,如果是自定义的配置文件,则需要预先通过PropertySource等其他注解注入后,才能获取。获取通过getProperty()方法获取。主要内容一、springBoot的简介二、springBoot注解三、springBoot应用讲解四、springBoot的发布五、springBoot总结3、springBoot应用讲解1、与、与MyBatis的集成的集成 org.mybatis.spring.boot 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 主要内容一、springBoot的简介二、springBoot注解三、springBoot应用讲解四、springBoot的发布五、springBoot总结3、springBoot的发布1、将springBoot项目打包成jar可以使用maven将项目打包成jar文件,并使用java-jar命令运行主main方法,将项目运行起来。3、springBoot的发布2、将springBoot项目打包成war1.pom文件的命令将jar修改为war。2、入口类实现SpringBootServletInitializer方法,重写方法:Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application)return application.sources(Application.class);3、这里指定打包的时候不再需要tomcat相关的包 org.springframework.boot spring-boot-starter-tomcat 主要内容一、springBoot的简介二、springBoot注解三、springBoot应用讲解四、springBoot的发布五、springBoot总结3、springBoot总结1、SpringBoot使配置变简单 多个多个 一个一个AutoWireAutoWireXML ConfigXML ConfigsetBean(Bean bean)setBean(Bean bean)Java ConfigJava Config*.properties*.properties*.xml*.xmlApplication.ymlApplication.ymlApplication.propertiesApplication.properties3、springBoot总结2、SpringBoot使部署变简单YOU CODEYOU CODE3rd Libraries3rd LibrariesEmbeddedEmbeddedHTTP ContainerHTTP Container一键启动一键启动Javajarxx.jarJavajarxx.jar不需要预部署应用服务器不需要预部署应用服务器webLogicApplicationServerwebLogicApplicationServerTomcatJbossJboss降低对运行环境的基本要求降低对运行环境的基本要求环境变量中有环境变量中有JDKJDK即可即可全量更新全量更新默认内嵌默认内嵌TomcatTomcat,可换成,可换成JettyJetty3、springBoot总结3、SpringBoot使监控变简单Spring-boot-Spring-boot-actuatoractuator HTTPGET/configpropsHTTPGET/configprops查看属性配置查看属性配置 HTTPGET/dumpHTTPGET/dump线程工作状态线程工作状态 HTTPGET/env/nameHTTPGET/env/name环境变量环境变量 HTTPGET/metrics/nameJVMHTTPGET/metrics/nameJVM性能指标性能指标 HTTPGET/mappingsRESTfulPathHTTPGET/mappingsRESTfulPath与服务类映射关系与服务类映射关系 共十余项3、springBoot总结4、SpringBoot不足之处 缺少注册、发现等外围方案缺少注册、发现等外围方案 缺少外围监控集成方案缺少外围监控集成方案 缺少外围安全管理方案缺少外围安全管理方案 缺少缺少RESTREST落地的落地的URIURI规划方案规划方案 所以SpringBoot只是一个入门级的微框架springBootspringBoot微框架微框架微服务微服务框架框架THANK YOU!- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SpringBoot 入门 培训
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文