(1)自动配置:使用注解开发,基本不使用xml配置文件
(2)起步依赖:不用自己需要生么依赖加什么依赖(单点)
而是选择一套,如想用ssm---即ssm所需要的依赖都包含(套餐)
(3)Actuator:健康检测
(4)命令行界面:用不到
2、springBoot的启动是通过入口application类直接运行application中的main方法即可转到web页面,输入项目路径访问即可
而不是通过发布项目,启动tomcat,debug运行等一系列 *** 作
3、常用注解总结(1)各层注解
- 持久层(dao)
- 业务层(service)
@Compnent--将业务对象交给spring管理(spring包中)
@Service(interfaceName=" ")---将服务接口暴露(dubbo包中)
interfaceClass=接口名.class
interfaceName=“包名+类名”接口的全限定类名
- 控制层(controller)
- 类上:@Controller
- 方法上:@RequestMapping(value="请求名")
- 注入业务层接口对象:@Reference(interfaceName=" ")
- 注入其他层对象
- @Autowired
- application类 (启动入口)
- @SpringBootApplication---开启spring注解配置(扫描spring容器中对象)
- @MapperScan(basePackages=" dao层mapper文件的路径")--扫描dao层映射文件
- @EnableDubboConfiguration ---开启dubbo配置(扫描Dubbo容器中对象)
(2)新增注解
-
控制层类上@RestController---整个类中的方法返回值都是数据(json数据)
@RestController=@Controller+@ResponseBody
-
控制层方法上 @GetMapping(value=“请求名”)---查询数据
@RequestMapping(value=“/请求名”,method=RequestMethod.GET)
-
@PostMapping(value=“请求名”)----新增数据
@RequestMapping(value=“/请求名”,method=RequestMethod.POST)
- @DeleteMapping(value=“请求名”)----删除数据
@RequestMapping(value=“/请求名”,method=RequestMethod.DELETE)
-
@PutMapping(value=“请求名”)----修改数据
@RequestMapping(value=“/请求名”,method=RequestMethod.PUT)
SpringBoot集成各种技术,主要是在工程配置文件pom.xml中加入相应的依赖,使用相关技术提供的功能,在满足相应技术规则的基础上进行编码。
1、集成SpringMVC- SpringBoot环境自动注入起步依赖,会搭建好springBooot和SpringMVC集成环境,
自动生成一个启动入口类---可以识别到spring的所有注解
@SpringBootAplication ---开启spring配置,扫描spring的所有注解
如:dao----@Mapper service---@Service controller--@Controller
-
集成springMVC 注解:@RestController 类上
@RestController=@Controller+@ResponseBody 表示整个控制层类中的方法都是返回json数据
- pom.xml中引入jsp依赖
- bulid标签中指定jsp的编译路径
- mysal驱动依赖
- Mybatis整合SpringBoot的起步依赖
- 在pom.xml文件内手动指定扫描dao.xml
- 利用mybatis的逆向工程生成实体类的bean,映射文件,dao接口
- 配置SpringBoot核心文件:application.properties 设置数据库的配置信息
- 在pom.xml中添加redis数据类型的依赖
- 在SpringBoot核心配置文件application.properties中添加redis配置:redis的主机ip、redis的端口号、redis的密码
- 工程配置文件中加依赖:Dobbu依赖、zookeeper注册中心依赖、接口工程依赖
- 工程配置核心配置文件 application.properties配置对应的信息
基于HTML的 Thymeleaf模板是一个前端页面模板---代替jsp,进行前端页面的数据展示
三、Thymeleaf 1、概述在前端的resoures文件夹下的templates文件夹----thymeleaf模板页面
static文件夹----除页面外的静态文件:图片,css,js等
templates文件夹下新建html文件
(1)使用模板:html跟标签后加 xmlns:th=“http://www.thymeleaf.org”(命名空间)
(2)获取后端数据:th:text=“${变量名}”(类EL表达式)
原理:命名空间---用来识别th标签(页面中才能使用thymeleaf的标签),
进而通过Thymeleaf依赖来解析Thymeleaf的语法规则(下面获取变量代码)
2、jsp和Thymeleaf比较不像jsp那样,需要加各种依赖
jsp就是servlet,需要先编译,然后再去渲染
而thymeleaf不需要,前后端分离,用户体验好
3、变量表达式(1)标准表达式
th:text=" ${对象.后台变量名} "
(2)选择变量表达式
th:object="${对象}">
th:text=" *{后台变量名}"
(3)内敛表达式
th:inline=“text”>
[[${要取的对象}]]
(4)取session中值
th:text=" ${session.变量名} "
(5)取Request中路径值
需要内敛表达式
4、路径表达式
var 变量名=[[${ #request.get变量名}]]
(1)绝对路径和相对路径---没有参数
(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;
}
前台接收:多参数路径只能用拼接的方式,不能用()方式
'/test/'+${id}+'/'+${username}}">
(3)引用js和img静态文件的路径表达式
5、功能表达式--调用函数
(1)基本形式: ${#内置功能对象.函数名()}
如:将curDate格式输出
${#dates.format(curDate.' yyyy-MM-dd:HH:mm:ss')}
">
(2)其他内置对象
[注]内置对象一般都以s结尾
四、SpringBoot整个过程 (一)工程框架 1、父工程- 普通的maven工程
- 统一管理接口工程、提供者、消费者三个子工程,主要包括依赖版本号,使整个项目的不同工程的依赖版本号一致
- 要求:pom.xml中,packaging标签内容设置为pom;src包删掉
- 实体类,实体类要实现序列化--implements Serialable
- service层接口 ,用来暴露项目功能到服务器
- DAO层:通过mybatis逆向工程自动生成实体bean和dao层接口及其接口映射文件,其中实体bean在GeneratorMapper.xml中指定放在interface工程。
- Service层:业务接口实现类
- application类:开启dobbu,扫描dao
- controller层处理请求
- Tymeleaf页面展示请求结果
- application类---开启dubbo配置
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博客
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)