Spring
文章平均质量分 79
Spring学习笔记,个人遇到的问题以及解决方案记录
也曾眼眸有光
天空即在我们头上也在我们脚下
展开
-
Spring Boot中异步线程池@Async
自定义线程池,可对系统中线程池更加细粒度的控制,方便调整线程池大小配置,线程执行异常控制和处理。在设置系统自定义线程池代替默认线程池时,虽可通过多种模式设置,但替换默认线程池最终产生的线程池有且只能设置一个(不能设置多个类继承 AsyncConfigurer)。重新实现接口 AsyncConfigurer;继承 AsyncConfigurerSupport;配置由自定义的 TaskExecutor 替代内置的任务执行器。原创 2024-02-01 16:44:58 · 1673 阅读 · 0 评论 -
spring三级缓存
Spring就是在对象外面包一层ObjectFactory,提前曝光的是ObjectFactory对象,在被注入时才在ObjectFactory.getObject方式内实时生成代理对象,并将生成好的代理对象放入到第二级缓存Map earlySingletonObjects。如果创建的Bean有对应的代理,那其他对象注入时,注入的应该是对应的代理对象;不管有没有循环依赖,都提前创建好代理对象,并将代理对象放入缓存,出现循环依赖时,其他对象直接就可以取到代理对象并注入。原创 2022-09-27 15:04:45 · 259 阅读 · 0 评论 -
Spring学习笔记——Spring AOP
Spring AOPAOP(Aspect-Oriented Programming,面向切面编程),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离。从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 AOP用来封装多个类的公共行为,将与业务无关,却被业务模块共同调用的逻辑封装起来,减少系统原创 2022-04-15 15:03:05 · 527 阅读 · 0 评论 -
Spring——自动装配
Spring的自动装配自动装配就是指 Spring 容器在不使用 <constructor-arg> 和<property> 标签的情况下,可以自动装配(autowire)相互协作的 Bean 之间的关联关系,将一个 Bean 注入其他 Bean 的 Property 中。使用自动装配需要配置 <bean> 元素的 autowire 属性。autowire 属性有五个值,具体说明如下表所示:名称 说明 no 默认值,表示不使用自动装配,Bean原创 2022-04-15 08:42:49 · 10678 阅读 · 0 评论 -
Spring学习笔记——依赖注入
Spring 依赖注入参考博客:《Spring》IOC实现原理 - 简书 (jianshu.com),spring概念理解之IOC(控制反转) - 简书 (jianshu.com)当某个 Java 实例需要另一个 Java 实例时,传统的方法是由调用者创建被调用者的实例(例如,使用 new 关键字获得被调用者实例),而使用 Spring 框架后,被调用者的实例不再由调用者创建,而是由 Spring 容器创建,这称为控制反转。Spring 容器在创建被调用者的实例时,会自动将调用者需要的对象实例注原创 2022-04-15 08:41:07 · 141 阅读 · 0 评论 -
Spring——Spring Bean的后置处理器以及继承
Spring Bean的后置处理器BeanPostProcessor 接口也被称为后置处理器,通过该接口可以自定义调用初始化前后执行的操作方法。当需要添加多个后置处理器实现类时,默认情况下 Spring 容器会根据后置处理器的定义顺序来依次调用。也可以通过实现 Ordered 接口的 getOrder 方法指定后置处理器的执行顺序。该方法返回值为整数,默认值为 0,值越大优先级越低。BeanPostProcessor 接口源码如下:public interface BeanPostPr原创 2022-04-14 17:13:01 · 496 阅读 · 0 评论 -
Spring学习笔记——Bean的作用域以及生命周期
Spring Bean 的作用域 singleton(单例):默认值,spring容器中只有一个Bean实例,Bean以单例的方式存在。该Bean实例将存储在高速缓存中,并且对所有Bean的请求,只要id与Bean定义相匹配都会返回该缓存对象。这种单例模式对于无会话状态的 Bean(如 DAO 层、Service 层)来说,是最理想的选择。 prototype(原型):每次通过Spring容器获取Bean时,容器都会创建一个Bean实例。prototype 作用域适用于需要保持会话状态的 B原创 2022-04-14 17:08:12 · 241 阅读 · 0 评论 -
Spring学习笔记——Spring Bean的定义
Bean的定义由SpringIOC容器管理的对象称为Bean,Bean根据Spring配置文件中的信息创建。Spring 配置文件支持两种格式,即 XML 文件格式和 Properties 文件格式。 Properties 配置文件主要以 key-value 键值对的形式存在,只能赋值,不能进行其他操作,适用于简单的属性配置。 XML 配置文件是树形结构,相对于 Properties 文件来说更加灵活。XML 配置文件结构清晰,但是内容比较繁琐,适用于大型复杂的项目。 Bean的原创 2022-04-14 17:00:17 · 220 阅读 · 0 评论 -
Spring学习笔记——Spring IOC容器
Spring IOC容器BeanFactory 容器BeanFactory采用懒加载(lazy-load)所以容器启动比较快,对象在第一次调用时才会被加载,BeanFactory提供容器最基本的功能,BeanFactory也可以说是一个管理Bean的工厂,主要负责初始化各种Bean,并调用其生命周期的方法。最常见的实现类: org.springframework.beans.factory.xml.XmlBeanFactory,使用XmlBeanFactory类的构造函数来传递Resource对原创 2022-04-14 16:56:08 · 124 阅读 · 0 评论 -
Spring学习笔记——概念,优缺点,体系结构
Spring参考学习网址: Spring框架教程(非常详细)Spring概念和作用Spring framework 就是我们平时说的 Spring 框架,Spring 是目前主流的 Java Web 开发框架,该框架是一个轻量级的开源框架,其目的是用于简化企业级应用程序开发的难度和周期。以IOC(控制反转)和AOP(面向切面编程)为内核。当某个 Java 实例需要另一个 Java 实例时,传统的方法是由调用者创建被调用者的实例(例如,使用 new 关键字获得被调用者实例),而使用 Sprin原创 2022-04-14 16:52:38 · 332 阅读 · 0 评论 -
spring boot项目启动报错:Failed to load property source from location ‘classpath:/application.yml‘
意思是:“spring boot项目启动报错:无法从位置的类路径加载属性源'classpath:/application.yml'”。解决方案:第一种:pom里面加上这个配置, 这个意思大概就是忽略 yml文件中的中文注释<dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.23&...原创 2022-03-24 15:46:15 · 7039 阅读 · 0 评论