- 敏捷开发(整合框架)
- 无需tomcat (java程序运行,实际jar包),内置了tomcat
- 大大减少xml配置文件,主要写 properties配置文件。
- SpringBoot + SpringCloud 成为了主流的开发
- 提一下springBoot的弊端,那就是封装的太死了,不容易修改。但是这在高版本的SpringBoot可以自己封装。
微服务是基于springCloud的(http接口 + rest风格),springCloud基于springBoot web组件封装SpringMVC
3.先说说 springboot 干了什么为什么我们称springboot是敏捷开发?springboot 到底干了什么?首先我们之前整合框架的时候,还挺麻烦的,我们需要搭建环境,我们需要引入各种依赖,我们需要解决依赖冲突。使用springboot以后,只需要引入两个依赖,之前整合的那些依赖统统不用我们手动的来引入了。
那又是为什么引入两个依赖以后,就不用引入其它的依赖了呢?
主要是通过Maven 的依赖继承关系,来管理jar包。
4.写一个demo因为入口函数只允许有一个,我们可以只写一个,然后用扫描的方式在加载别的服务:
访问静态资源要求如下:
写一个全局的异常捕获类,
@ControllerAdvice 全局捕获异常 用到的是AOP的异常捕获
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
下边的代码就可以实现读到配置文件中值:
@Value("${name}")
private String name;
@ResponseBody
@RequestMapping("/getValue")
public String getValue() {
return name;
}
修改端口号server.port=8888
server.context-path=/itmayiedu