Spring Boot
这孩子叫逆
尽人事,听天命
展开
-
SpringBoot 多元化配置(正则表达式,配置文件优先级)
Value 与 @ConfigurationProperties 对比@Value 和 @ConfigurationProperties 注解都能读取配置文件中的属性值并绑定到 JavaBean 中,但两者存在以下不同。@Value位置不同JavaBean类名上JavaBean属性上功能批量属性注入单值绑定松散绑定(松散语法)支持部分支持Spel不支持支持复杂类型封装支持支持,比较繁琐JSR303数据校验支持不支持应用场景不同。原创 2024-10-06 20:08:28 · 708 阅读 · 0 评论 -
SpringFactoriesLoader与SPI(服务提供接口)
SpringFactoriesLoader类的主要作用是通过类路径下的文件获取工厂类接口的实现类,初始化并保存在缓存中,以供Springboot启动过程中各个阶段的调用。Spring的自动化配置功能,也与此息息相关。工厂加载机制是Spring内部提供的一个约定俗成的加载方式,只需要在模块的文件中,以Properties类型(即key-value形式)配置,就可以将相应的实现类注入Spirng容器中。Propertieskey:valuekey:是全限定名(抽象类|接口)原创 2024-10-06 15:01:32 · 348 阅读 · 0 评论 -
SpringBoot 自动配置原理
SpringBoot启动会加载大量的自动配置类先看我们需要的功能有没有SpringBoot默认写好的自动配置类再来看这个自动配置类中到底配置了哪些组件(只要我们要用的组件有,我们就不需要再来配置了)给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可以在配置文件中指定这些属性的值xxxxAutoConfigurartion:自动配置类;给容器中添加组件;xxxxProperties:封装配置文件中相关属性;原创 2024-10-06 14:54:20 · 588 阅读 · 0 评论 -
Spring boot 常用注解
包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在启动类上。用于标注数据访问组件,即DAO组件。用于标注业务层组件。用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析。原创 2024-10-06 14:44:18 · 431 阅读 · 0 评论 -
SpringBootApplication注解解析(自动配置原理)
虽然它的定义使用了多个 Annotation 进行元信息标注,但实际上对于 SpringBoot 应用来说,重要的只有三个 Annotation,而“三体”结构实际上指的就是这三个 Annotation:@Spation但每次都写三个 Annotation 显然过于繁琐,所以写一个 @SpringBootApplication 这样的一站式复合 Annotation 显然更方便些。原创 2024-10-06 14:39:14 · 325 阅读 · 0 评论 -
认识Spring Boot Start(基于Spring Boot自动装载原理)
传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置,十分繁琐,但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制。原创 2024-10-06 14:33:56 · 548 阅读 · 0 评论