SpringBoot
springboot
简介
约定优于配置
概念:
主要特性:
springboot应用
案例实现
热部署
全局配置文件
application.yaml
application.properties
属性注入
常用注解
@Value属性注入
@ConfigurationProperties 批量注入
第三方配置
松散绑定
@Value与@ConfigurationProperties的对比
日志框架
源码
源码剖析依赖管理
源码剖析自动配置
源码剖析run方法执行流程
源码剖析自定义start
源码剖析内嵌tomcat
源码剖析自动配置SpringMVC
springboot数据访问
源码剖析数据源自动配置
Druid连接池的配置
springboot整合mybatis
源码剖析mybatis自动配置
springboot+mybatis实现动态数据源切换
springboot缓存深入
JSR107
spring的缓存抽象
spring的缓存使用
源码剖析缓存自动配置
源码剖析@cacheable
@CachePut@CacheEvict@CacheConfig
基于redis的缓存实现
自定义redisCacheManager
springboot项目部署
jar包
war包
多环境部署
springboot项目监控
Acturator
SpringBoot Admin
一、Springboot应用
约定优于配置:本质上就是对系统,类库、框架中的一些东西,给一个大众化的默认值。这个默认值好比就是两者约定好的,见面了都能认识,这样就省去了配置。好比咱约定好一个user实体,就是对应数据库中的user表,自然不用配置映射文件,就能将两者对应起来,产生联系。
Springboot的设计其实就是为了快速的跑起来一个生产级的应用程序,并尽可能的减少配置。
主要特性:主要是两个,一个是起步依赖,一个就是自动配置,还有一个就是内嵌了web容器,tomcat等,最终项目可以就打成一个jar包。
springboot项目目录结构:主程序项目启动类、测试类、全局配置文件、静态资源以及模版文件夹
在com.xxx包下创建Controller
@RestController//该注解是一个组合注解,等同于@Controller与@ResponseBody两个注解
@RequestMapping("/demo")
热部署:用spring-boot-devtools,编辑器上启动了项目,假如改动了相关代码,就会自动编译,该插件就会监控到classpath下有文件变化,就重启springboot
该插件重启快速的原因:本质就是两个类加载器,对于第三方jar包用的是base-classLoader,开发人员自己的类用的类加载器是restartclassloader。这使得比停掉服务重启就快的多,因为插件只是重启的开发人员编写的代码部分。
某些资源在更改后不一定要重启服务,所以可以设法排除,用devtools的一个配置属性就可以排除:比如: spring.devtools.restart.exclude=static/,public/ 仅排除 /static , /public
全局配置文件 application.properties application.yml/application.yaml
@ConfigurationPropertise(prefix = "person")注解的作用就是将配置文件中以person开头的属性值通过setXXX的方式注入到实体类对应得属性中。
@Component注解的作用就是将当前注入属性值的实体类对象作为bean组件放到Spring容器中,只有这样才能被@ConfigurationProperties注解进行赋值。
未完待完善。。。