天天看点

SpringBoot

springboot

创建一个springboot服务项目,结构如下
@springbootapplication作用:表示该类是一个springboot的应用,一旦缺少则该项目则运行不起
2. :@springbootapplication 注解详解:包含了如下几个注解
2.1: @springbootconfiguration
2.1.1:@configuration
总结:@springbootconfiguration的作用就是表明该类是个具有特定功能的配置类,并将其纳入到springioc容器中
2.2: @enableautoconfiguration:包含如下几个注解
2.2.1:@autoconfigurationpackage
2.2.1.1:autoconfigurationpackages.registrar.class
总结:@autoconfigurationpackage:起作用是将springboot服务的主类所在包和及其子包纳入到容器中
2.2.2.1:autoconfigurationimportselector.class:中getautoconfigurationentry方法
2.2.2.2: getcandidateconfigurations(annotationmetadata, attributes):springfactoriesloader.loadfactorynames方法
2.2.2.3:springfactoriesloader.loadfactorynames :调用loadspringfactories方法
2.2.2.4:loadspringfactories:调用(factories_resource_location)
2.2.2.5:factories_resource_location:又加载springfactoriesloader类中的factories_resource_location属性
2.2.2.6:"meta-inf/spring.factories":又在spring-boot-autoconfigure-xxx.jar中,在服务启动时通过工厂实现自动加载
总结:autoconfigurationimportselector.class就是将三方依赖纳入到容器中,在服务启动时就自动进行加载其配置
yaml 是yaml是"yaml ain't a markup language"(yaml不是一种标记语言)的递归缩写。在开发的这种语言时,yaml 的意思其实是:"yet another markup language"(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。
基本数据类型 :key: +空格+value(如下所示)
引用类型:常用的又array、list、map和对象等(使用默认的yml配置文件)
@propertysource :通过该注解来实现加载指定配置文件,通过在属性上使用@value注解来进行绑定
jsr303: 是java ee 6 中的一项子规范,叫做bean validation,hibernate validator 是 bean validation 的参考实现 . hibernate validator 提供了 jsr 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。