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以后,只需要引入两个依赖,之前整合的那些依赖统统不用我们手动的来引入了。
那又是为什么引入两个依赖以后,就不用引入其它的依赖了呢?
主要是通过Maven 的依赖继承关系,来管理jar包。
4.写一个demo
因为入口函数只允许有一个,我们可以只写一个,然后用扫描的方式在加载别的服务:
web开发
使用springboot访问静态资源
访问静态资源要求如下:
全局异常捕获
写一个全局的异常捕获类,
@ControllerAdvice 全局捕获异常 用到的是AOP的异常捕获
SpringBoot 整合页面
springboot优先使用模板引擎,不建议用jsp。 模板引擎就是动态页面静态化
数据访问
springboot整合jdbcTemplates
~
springboot整合 mybatis
~
springboot整合springjpa
同样是我自己的一遍文章
@SpringBootApplication 一个注解相当于是三个注解:@ComponentScan+@EnableAutoConfiguration+@EntityScan
@ComponentScan :这个注解是包的
@EnableAutoConfiguration :这个注解用来加载程序
@EntityScan :这个注解用来扫描实体类包的
想要使用这也注解,一定要在同级才能扫描@SpringBootApplication
这个叫同级,在Apps文件里使用这个注释可以。
springboot整合多数据源
1.使用分包
2.使用注解
事务
spring事务分编程事务,声明事务。
那么springboot又是怎样整合事物的呢?只需要要进行事务回滚的地方加上注解 @Transactional
对于分布式事务,我们要提供其它的方案,所数据源,就相当于是分布式事务。推荐的是jta+AutoCDA。也就是说交给第三方管。
定时任务
在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置
这是一个解决方案,但是并不推荐,因为会有一致性问题,也没有容错机制。
异步调用
启动加上@EnableAsync ,需要执行异步方法上加入 @Async
读取配置文件参数
在配置文件中写:
name=itmayiedu.com
下边的代码就可以实现读到配置文件中值:
修改端口号
server.port=8888
server.context-path=/itmayiedu