赞
踩
(1)自动配置:使用注解开发,基本不使用xml配置文件
(2)起步依赖:不用自己需要生么依赖加什么依赖(单点)
而是选择一套,如想用ssm---即ssm所需要的依赖都包含(套餐)
(3)Actuator:健康检测
(4)命令行界面:用不到
直接运行application中的main方法即可转到web页面,输入项目路径访问即可
而不是通过发布项目,启动tomcat,debug运行等一系列操作
(1)各层注解
@Compnent--将业务对象交给spring管理(spring包中)
@Service(interfaceName=" ")---将服务接口暴露(dubbo包中)
interfaceClass=接口名.class
interfaceName=“包名+类名”接口的全限定类名
(2)新增注解
控制层类上@RestController---整个类中的方法返回值都是数据(json数据)
@RestController=@Controller+@ResponseBody
控制层方法上 @GetMapping(value=“请求名”)---查询数据
@RequestMapping(value=“/请求名”,method=RequestMethod.GET)
@PostMapping(value=“请求名”)----新增数据
@RequestMapping(value=“/请求名”,method=RequestMethod.POST)
@RequestMapping(value=“/请求名”,method=RequestMethod.DELETE)
@PutMapping(value=“请求名”)----修改数据
@RequestMapping(value=“/请求名”,method=RequestMethod.PUT)
SpringBoot集成各种技术,主要是在工程配置文件pom.xml中加入相应的依赖,使用相关技术提供的功能,在满足相应技术规则的基础上进行编码。
自动生成一个启动入口类---可以识别到spring的所有注解
@SpringBootAplication ---开启spring配置,扫描spring的所有注解
如:dao----@Mapper service---@Service controller--@Controller
集成springMVC 注解:@RestController 类上
@RestController=@Controller+@ResponseBody 表示整个控制层类中的方法都是返回json数据
基于HTML的 Thymeleaf模板是一个前端页面模板---代替jsp,进行前端页面的数据展示
在前端的resoures文件夹下的templates文件夹----thymeleaf模板页面
static文件夹----除页面外的静态文件:图片,css,js等
templates文件夹下新建html文件
(1)使用模板:html跟标签后加 xmlns:th=“http://www.thymeleaf.org”(命名空间)
(2)获取后端数据:th:text=“${变量名}”(类EL表达式)
原理:命名空间---用来识别th标签(页面中才能使用thymeleaf的标签),
进而通过Thymeleaf依赖来解析Thymeleaf的语法规则(下面获取变量代码)
不像jsp那样,需要加各种依赖
jsp就是servlet,需要先编译,然后再去渲染
而thymeleaf不需要,前后端分离,用户体验好
(1)标准表达式
th:text=" ${对象.后台变量名} "
(2)选择变量表达式
<div th:object="${对象}">
th:text=" *{后台变量名}"
</div>
(3)内敛表达式
<div th:inline=“text”>
[[${要取的对象}]]
</div>
(4)取session中值
th:text=" ${session.变量名} "
(5)取Request中路径值
需要内敛表达式
<script type=" text/javascript" th:inline="javascript">
var 变量名=[[${ #request.get变量名}]]
</script>
(1)绝对路径和相对路径---没有参数
<a th:href="@{路径}">
(2) 绝对路径和相对路径---带参数
@{请求路径?参数名1=值1&参数名2=值2}---自己写指定的参数
@{‘请求路径?参数名=’+${后台参数名}}---后台获取参数
@{请求路径(参数名1=${后台参数名1},参数名2=${后台参数名1})}-----后台取多个参数
(3)restful风格路径表达
后台restful风格传参
@RequestMapping(value="/test/{id}/{username}")
public @ResponseBody String test(@PathVariable("id") Integer id,@PathVariable("username") String username){
return "ID"+id+"username"+username;
}
前台接收:多参数路径只能用拼接的方式,不能用()方式
<a th:href="@{'/test/'+${id}+'/'+${username}}">
(3)引用js和img静态文件的路径表达式
<script type=" text/javascript" src="/js/jquery-1.7.7.min.js"> </script>
<script type=" text/javascript" th:src="@{/js/jquery-1.7.7.min.js}"> </script>
(1)基本形式: ${#内置功能对象.函数名()}
如:将curDate格式输出
<span th:text="
${#dates.format(curDate.' yyyy-MM-dd:HH:mm:ss')}
">
(2)其他内置对象
[注]内置对象一般都以s结尾
1、工程 pom.xml 【管理依赖、插件等】
2、数据库实体类映射文件 mapper.xml【管理表相关信息及其操作】
3、SpringBoot主配置文件 application.properties【统一管理数据库连接、配置等】
1、每层的代码同原来其他框架基本一样,根据不同的业务功能,写不同的业务实现代码,总体格式满足MVC三层架构。
2、SpringBoot工程是基于SSM、Dubbo、zookeeper的,各部分代码的编写基本和SSM类似,但是在工程架构上采用微服务思想,分为接口工程、提供者和消费者,使各工程分工明确,各司其职。
3、zookeeper的作用 :管理和分配服务---动态管理服务
注册中心管理机制:
(1)先运行注册中心
(2)启动dubbo服务,每一个服务提供者运行之后,都到注册中心中登记
信息:ip 端口 服务名(接口名)----则注册中心中记录全部可用服务的信息
(3)当消费者启动之后----先去访问注册中心,订阅需要适用的dubbo服务------注册中心将其需要的服务信息发送给消费者-----消费者根据这些信息去访问对应的服务
(4)注册中心的心跳机制:注册中心会每个2s向dubbo服务发送请求,验证这些服务是否正常工作
当某个服务没有响应时,注册中心会将信息表中该服务对应的信息删掉,并将此信息和新的dubbo服务地址推送给消费者---确保消费者访问错误问题
每层代码结构可参考 SSM:Spring+SpringMVC+Mybatis、SpringMVC的web开发_@snow'的博客-CSDN博客
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。