1.springBoot 的优势

  • 敏捷开发(整合框架)
  • 无需tomcat (java程序运行,实际jar包),内置了tomcat
  • 大大减少xml配置文件,主要写 properties配置文件。
  • SpringBoot + SpringCloud 成为了主流的开发
  • 提一下springBoot的弊端,那就是封装的太死了,不容易修改。但是这在高版本的SpringBoot可以自己封装。

2.springBoot 和微服务的关联

 微服务是基于springCloud的(http接口 + rest风格),springCloud基于springBoot web组件封装SpringMVC

3.先说说 springboot 干了什么

为什么我们称springboot是敏捷开发?springboot 到底干了什么?首先我们之前整合框架的时候,还挺麻烦的,我们需要搭建环境,我们需要引入各种依赖,我们需要解决依赖冲突。使用springboot以后,只需要引入两个依赖,之前整合的那些依赖统统不用我们手动的来引入了。

(个人)SpringBoot学习笔记_封装

 那又是为什么引入两个依赖以后,就不用引入其它的依赖了呢?

  主要是通过Maven 的依赖继承关系,来管理jar包。

4.写一个demo

(个人)SpringBoot学习笔记_异常捕获_02

因为入口函数只允许有一个,我们可以只写一个,然后用扫描的方式在加载别的服务:

(个人)SpringBoot学习笔记_封装_03

 



web开发

使用springboot访问静态资源

     访问静态资源要求如下:

(个人)SpringBoot学习笔记_封装_04

(个人)SpringBoot学习笔记_封装_05

全局异常捕获

 写一个全局的异常捕获类,

(个人)SpringBoot学习笔记_异常捕获_06


@ControllerAdvice  全局捕获异常  用到的是AOP的异常捕获

SpringBoot 整合页面

springboot优先使用模板引擎,不建议用jsp。 模板引擎就是动态页面静态化



数据访问

springboot整合jdbcTemplates

~

springboot整合 mybatis

~

springboot整合springjpa

同样是我自己的一遍文章

 

 

@SpringBootApplication 一个注解相当于是三个注解:@ComponentScan+@EnableAutoConfiguration+@EntityScan

@ComponentScan :这个注解是包的

@EnableAutoConfiguration :这个注解用来加载程序

@EntityScan :这个注解用来扫描实体类包的

想要使用这也注解,一定要在同级才能扫描@SpringBootApplication

(个人)SpringBoot学习笔记_异常捕获_07

这个叫同级,在Apps文件里使用这个注释可以。

springboot整合多数据源

1.使用分包

(个人)SpringBoot学习笔记_封装_08

2.使用注解

(个人)SpringBoot学习笔记_spring_09

事务

spring事务分编程事务,声明事务。

那么springboot又是怎样整合事物的呢?只需要要进行事务回滚的地方加上注解 @Transactional

对于分布式事务,我们要提供其它的方案,所数据源,就相当于是分布式事务。推荐的是jta+AutoCDA。也就是说交给第三方管。

 

定时任务

在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置

(个人)SpringBoot学习笔记_异常捕获_10

这是一个解决方案,但是并不推荐,因为会有一致性问题,也没有容错机制。

异步调用

启动加上@EnableAsync ,需要执行异步方法上加入 @Async

读取配置文件参数

在配置文件中写:

name=itmayiedu.com

下边的代码就可以实现读到配置文件中值:

@Value("${name}")
private String name;
@ResponseBody
@RequestMapping("/getValue")
public String getValue() {
return name;
}

修改端口号

server.port=8888

server.context-path=/itmayiedu