您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Spring-Boot技术培训(1)
SpringBoot技术分享2019.3.15目录目录ONTENTSC1SpringBoot入门2SpringBoot初级应用3SpringBoot整合持久层4SpringBoot高级应用第一部分:SpringBoot入门1.SprintBoot简介2.SpringBoot的优点3.SpringBoot快速构建项目4.SpringBoot入门HelloWorld1.1SpringBoot简介SpringBoot是在Spring(Spring4.0版本)基础之上产生的,其中“Boot”的意思就是“引导”,意在简化开发模式,使开发者能够快速的开发出基于Spring的应用。SpringBoot含有一个内嵌的Tomcatweb容器。我们开发的web应用不需要作为war包部署到web容器中,而是作为一个jar包,在启动时根据web服务器的配置进行加载。SpringBoot设计目的是用来简化新Spring应用的初始搭建以及开发过程,并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。1.2SpringBoot的优点1.在没有使用SpringBoot时构建项目时什么样的?在项目中存在大量的xml文件,配置相当繁琐整合第三方框架时的配置jar包问题低效的开发效率与部署效率问题2.SpringBoot解决了什么?使配置简单使编码简单使部署简单1.3SpringBoot快速构建项目1.打开SpringBoot的官网构建SpringBoot的页面通过SpringBoot官方提供的启动器支持web全栈开发,提供了40+种启动器,jar包集中管理,解决jar包版本和依赖冲突问题。1.4SpringBoot入门HelloWorld1.新增一个controller,通过requestMapping注解映射url2.新增启动类:通过SpringBootApplication注解标识。可以和controller位于同一个包下,或者位于controller的上一级包中。3.运行启动类:将应用程序打包,并自动部署到tomcat容器中。在浏览器输入地址访问即可。第二部分:SpringBoot初级应用1.SpringBoot项目目录结构2.SprintBoot核心注解3.SpringBoot配置文件4.SpringBoot视图层技术2.1SpringBoot项目目录结构src/main/java:java文件目录src/main/resource:存放静态资源文件的目录、配置文件、mybatis映射文件、属性文件等src/test/java:测试代码目录。jdk版本为1.8及以上2.2SpringBoot核心注解@SpringBootApplication:代表是SpringBoot的启动类。@SpringBootConfiguration:通过bean对象来获取配置信息@Configuration:通过对bean对象的操作替代spring中xml文件@EnableAutoConfiguration:完成一些初始化环境的配置。@ComponentScan:来完成spring的组件扫描。替代之前我们在xml文件中配置组件扫描的配置context:component-scanpacage=”....”@RestController:1,表示一个Controller。2,表示当前这个Controller下的所有的方法都会以json格式的数据返回。2.3SpringBoot配置文件1.properties配置文件:key=value的格式。key之间是以“.”进行分割2.yml配置文件:是SpringBoot中新增的一种配置文件格,以树状结构展示。key之间使用“:”进行分割缩进一定不能使用tab键,否则会报错。value和key中间的分号后面必须有一个空格3.多环境配置文件①语法结构:application-{profile}.yml,profile:代表的就是一个环境变量application-dev.yml开发环境application-test.yml测试环境application-prod.yml生产环境②按环境加载配置文件运行项目控制台运行项目java-jarxxx.jar--spring.profiles.active={profile}新增一个全局配置文件application.yml文件,打包的时候通过active指定变量。2.4SpringBoot视图层技术1.整合jsp;2.整合freemarker;3.整合thymeleaf:spring官方推荐的视图层技术,通过特定语法对html的标记做渲染。springboot要求所有的静态资源都放在src/main/resources/static目录下。要求模板形式的视图层技术的文件必须要放到src/main/resources/templates,该目录是安全的,目录下的内容是不允许外界直接访问的。2.4SpringBoot视图层技术---Thymeleaf变量输出与字符串操作1.th:text在页面中输出值2.th:value可以将一个值放入到input标签的value中3.Thymeleaf内置对象调用内置对象一定要用#大部分的内置对象都以s结尾strings、numbers、dates${#strings.isEmpty(key)}判断字符串是否为空,如果为空返回true,否则返回false${#strings.contains(msg,'T')}判断字符串是否包含指定的子串,如果包含返回true,否则返回false${#strings.startsWith(msg,'a')}2.4SpringBoot视图层技术---Thymeleaf变量输出与字符串操作${#strings.startsWith(msg,'a')}判断当前字符串是否以子串开头,如果是返回true,否则返回false${#strings.endsWith(msg,'a')}判断当前字符串是否以子串结尾,如果是返回true,否则返回false${#strings.length(msg)}返回字符串的长度${#strings.indexOf(msg,'h')}查找子串的位置,并返回该子串的下标,如果没找到则返回-1${#strings.substring(msg,13)}${#strings.substring(msg,13,15)}截取子串,用法与jdkString类下SubString方法相同${#strings.toUpperCase(msg)}${#strings.toLowerCase(msg)}字符串转大小写。2.4SpringBoot视图层技术---Thymeleaf日期格式化处理1.${#dates.format(key)}格式化日期,默认的以浏览器默认语言为格式化标准2.${#dates.format(key,'yyy/MM/dd')}按照自定义的格式做日期转换3.获取年、月、日${#dates.year(key)}${#dates.month(key)}${#dates.day(key)}year:取年Month:取月Day:取日2.4SpringBoot视图层技术---Thymeleaf条件判断1.th:ifspanth:if=${sex}=='男'性别:男/spanspanth:if=${sex}=='女'性别:女/span2.th:switchdivth:switch=${id}spanth:case=1ID为1/spanspanth:case=2ID为2/spanspanth:case=3ID为3/span/div2.4SpringBoot视图层技术---Thymeleaf迭代遍历1.th:each迭代listtabletrth:each=item:${list}tdth:text=${item}/td/tr/table2.Th:each迭代maptableborder=1trth:each=item:${map}tdth:text=${item.key}/tdtdth:text=${item.value}/td/tr/table2.4SpringBoot视图层技术---Thymeleaf域对象操作1.HttpServletRequestrequest.setAttribute(req,HttpServletRequest);Request:spanth:text=${#httpServletRequest.getAttribute('req')}/spanbr/2.HttpSessionrequest.getSession().setAttribute(sess,HttpSession);Session:spanth:text=${session.sess}/spanbr/3.ServletContextrequest.getSession().getServletContext().setAttribute(app,Application);Application:spanth:text=${application.app}/span2.4SpringBoot视图层技术---ThymeleafURL表达式1.标签:th:href和th:src2.基本语法:@{}3.URL类型①绝对路径ath:href=@{}绝对路径/a②相对路径:相对于项目的上下文的相对路径:ath:href=@{/show}相对路径/a相对于服务器路径的根:ath:href=@{~/project2/resourcename}相对于服务器的根/a③在url中实现参数传递ath:href=@{/show(id=1,name=zhagnsan)}相对路径传参/a④在url中通过restful风格进行参数传递ath:href=@{/path/{id}/show(id=1,name=zhagnsan)}相对路径传参-restful/a第三部分:SpringBoot整合持久层1.SpringBoot项目工程搭建2.MyBatis逆向工程生成pojo和mapper文件3.MVC应用实现增删改查3.1SpringBoot项目工程搭建1.构建springboot工程。2.增加mybatis启动器;mysql数据库驱动;druid连接池坐标。3.新增springapplication配置数据库信息。3.2MyBatis逆向工程生成pojo和mapper文件通过mybatis逆向工程生成对应的实体pojo、mapper接口和mapperxml文件通过maven命令:mybatis-generator:generate生成代码拷贝generator.xml文件到resource目录,设置数据库、文件包路径、表名和实体名对应关系等信息。在pom文件中引入mybatis-generator插件。3.3MVC应用实现增删改查通过mvc分层实现用户信息的在web页面的增删改查操作导入项目启动,浏览器输入:第四部分:SpringBoot高级应用1.SpringBoot数据校验2.SpringBoot全局事务3.SpringBoot异常处理4.SpringBoot整合junit单元测试5.SpringBoot热部署6.SpringBoot定时任务7.SpringBootlogback日志记录器4.1SpringBoot数据校验1.SpringBoot对表单数据校验的技术特点,使用了Hibern
本文标题:Spring-Boot技术培训(1)
链接地址:https://www.777doc.com/doc-6904799 .html