• 2024-06-20Spring的一些思考(一)
    new一个对象和依赖注入一个对象的区别?new一个对象时,直接使用关键字new来创建实例。这个对象的生命周期由自己来管理,可以实现对对象的细粒度的控制依赖注入是创建对象的另一种方式。DI可以减轻耦合,生命周期由Spring来负责,只需配置该对象和它依赖的对象如何配置即可DI的优
  • 2024-06-1185道Spring高频题整理(附答案背诵版)
    请阐述Spring框架的基本概念。?Spring框架是一个开源的企业级应用开发框架,由RodJohnson创建,并于2003年首次发布。Spring是在全方位提供企业级服务的基础上,用Java实现的。Spring的核心思想是使现代Java开发更加简单。Spring框架以其灵活性和透明性闻名,几乎可以用在任何Ja
  • 2024-06-10利用SpringBeanUtil 来获取 IOC 容器中的bean
    有时候在代码中,不希望使用自动注入,而是手动获取Spring容器以及Spring容器中的某个对象1、首先写一个class实现ApplicationContextAware#importorg.springframework.beans.BeansException;importorg.springframework.context.ApplicationContext;importorg.springframework
  • 2024-06-103_@Autowired注解失效分析
    1.Aware接口Aware接口提供了一种[内置]的注入手段,可以注入BeanFactory,ApplicationContext。内置的注入和初始化不受扩展功能的影响,总会被执行,因此Spring框架的内部类常使用它们。InitializingBean接口提供了一种[内置]的初始化手段。Aware的作用就是注入与容器相关的信
  • 2024-06-081_关于BeanFactory与ApplicationContext的联系和区别
    BeanFactory与ApplicationContext1.容器和接口1.1BeanFactory与ApplicationContext的联系与区别:ConfigurableApplicationContext是ApplicationContext的子接口,而ApplicationContext接口又是BeanFactory的子接口。因此ConfigurableApplicationContext接口简介继承了Bean
  • 2024-06-06Spring IOC容器的设计与实现
    SpringIOC容器的设计与实现1、SpringIOC容器的设计我们知道,在Spring中实现控制反转的是IoC容器,所以对于IoC来说,最重要的就是容器。因为容器管理着Bean的生命周期,控制着Bean的依赖注入。那么,在Spring框架中是如何设计容器的呢?我们来看一下:SpringIoC容器的设计
  • 2024-06-0205beanfactory后置处理器
    BeanFactory后处理器的作用作用与bdMap创建完成后,通过对bdMap的操作(新增)来实现更多的功能拓展ConfigurationClassPostProcessor可以解析@ComponentScan@Bean@Import@ImportResourceMapperScannerConfigurer可以解析Mapper接口@ComponentScan,@Bean,@Ma
  • 2024-05-28Spring Aware接口:揭秘Bean生命周期中的“先知”角色与源码剖析
    1.引言在Spring框架中,Bean的生命周期是一个复杂而精细的过程,涉及到Bean的创建、初始化、属性注入以及销毁等多个阶段。为了增强Bean与Spring容器之间的交互能力,Spring提供了一系列Aware接口,这些接口允许Bean在生命周期的不同阶段获取Spring容器的特定资源或信息,从而实现了
  • 2024-05-22springboot中执行完某些逻辑后,才算bean加载完,applicationContext才加载完毕
    核心思想实现InitializingBean接口,重写afterPropertiesSet方法范例代码importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.InitializingBean;importorg.springframework.stereotype.Component;@Slf4j@ComponentpublicclassDemoimplementsI
  • 2024-05-03applicationContext.xml
    我真服了,搜了半天没有我想看见的就是关于取代mybatis.xml的文件只能自己写一个了并不能完全取代,至少日志部分还得保留1<?xmlversion="1.0"encoding="UTF-8"?>2<beansxmlns="http://www.springframework.org/schema/beans"3xmlns:xsi="http://www.w3.org/2
  • 2024-04-29Spirng 当中 Bean的作用域
    Spirng当中Bean的作用域@目录Spirng当中Bean的作用域每博一文案1.Spring6当中的Bean的作用域1.2singleton默认1.3prototype1.4Spring中的bean标签当中scope=属性其他的值说明1.5自定义作用域,一个线程一个Bean2.总结:3.最后:每博一文案青年,青年!无论受怎样的
  • 2024-04-07class path resource [applicationContext.xml] cannot be opened because it does not exist
    测试运行报错:无法打开applicationContext.xml解决方法:打开File->ProjectStructure...找到Moudles->path->OutPutPath中写入resources路径
  • 2024-03-26Springboot项目的main函数入口,如何像jar包一样接受参数
    一般来说,springboot项目是提供服务的,但是也可以用到导出jar来启动,那么如何介绍参数呢:packagecom.example.TestDemo;importcom.example.jmeter.bean.TestCaseResult;importcom.example.jmeter.controller.JmeterController;importlombok.extern.slf4j.Slf4j;importorg.
  • 2024-03-20spring refresh的流程(AbstractApplicationContext的refresh方法)
    12个阶段1、prepareRefresh,做准备工作2、obtainFreshBeanFactory,创建或获取beanfactory3、prepareBeanFactory,准备beanfactory4、postProcessBeanFactory,子类扩展beanfactory5、invokeBeanFactoryPostProcessors,后处理器扩展beanfactory6、registerBeanPostProcessors,准备b
  • 2024-03-163.12毕设
    Aware接口,从字面上理解就是感知捕获。单纯的一个Bean是没有知觉的。在之前的场景中,之所以UserDao能够注入到UserService,有一个前提,就是它两个都是被Spring容器管理的。如果直接new一个UserService,这是没用的,因为UserService没有被Spring容器管理,所以也不会给它里边注入Bean。在实
  • 2024-03-11springboot初始化时执行方法
    参考:http://www.360doc.com/content/23/0303/15/81790262_1070284511.shtml监听容器刷新完成扩展点ApplicationListener<ContextRefreshedEvent>ApplicationContext事件机制是观察者设计模式实现的,通过ApplicationEvent和ApplicationListener这两个接口实现ApplicationContext
  • 2024-02-27Spring系列之(二)Spring基于XML的IOC实例
    Spring基于XML的IOC实例将改进后的工厂模式通过Spring来实现,解析配置文件、创建仓库,将对象存入仓库的过程都由Spring来做,我们只需要配置好配置文件,获取仓库中的对象即可1.在pom中引入Spring环境<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.o
  • 2024-02-16通过ApplicationContext.getBean()获取bean实例
    spring获取bean容器管理的实例常用方式有两种。    1.  使用注解注入,@Autowired和@Resource@Autowired推荐使用构造函数的方式注入,可被@RequiredArgsConstructor代替@Resource在接口的实现类有多个的时候使用,指定name=实现类名来注入指定的实现类,但@Autowired+@Qualififier
  • 2024-01-29异步 ApllicationContext pushlishEvent @EventLisener来处理
    importorg.springframework.context.ApplicationContext;importorg.springframework.context.ApplicationEvent;importorg.springframework.context.event.ApplicationEventMulticaster;importorg.springframework.core.task.AsyncTaskExecutor;@Component publi
  • 2024-01-18Spring ResourceLoader 总结
    ResourceLoader总结Spring将采用和ApplicationContext相同的策略来访问资源。也就是说,如果ApplicationContext是FileSystemXmlApplicationContext,res就是FileSystemResource实例;如果ApplicationContext是ClassPathXmlApplicationContext,res就是ClassPathResource实例当Spring应
  • 2024-01-04Spring的ApplicationContext核心分析
    跟着孙哥学Spring,b站:https://www.bilibili.com/video/BV185411477k/?spm_id_from=333.337.search-card.all.click1.AnnotationConfigApplicationContext执行过程publicstaticvoidmain(String[]args){AnnotationConfigApplicationContextctx=newAnnotationConfig
  • 2023-12-26实现ApplicationContextAware没有生效
    下面这段代码是存在一个spring-boot-starter中,引入到其他项目中,启动后获得不到ApplicationContext,原因是启动类中,没有扫描到对应路径:增加代码:@ComponentScan(value="com.XXX.common.project")代码如下@ServicepublicclassSpringContextHolderimplementsApplicationCont
  • 2023-12-22spring项目中自定义注解
    使用BeanPostProcessorBeanPostProcessor是Spring框架提供的一个接口,用于在Spring容器中对Bean进行后处理。自定义注解后,可以实现一个BeanPostProcessor实现类,在BeanPostProcessor的postProcessAfterInitialization()方法中,使用ClassPathScanningCandidateResol
  • 2023-12-1984道Spring高频题整理(附答案背诵版)
    解释一下Spring框架?Spring框架是一个开源的企业级应用开发框架,由RodJohnson创建,并于2003年首次发布。Spring是在全方位提供企业级服务的基础上,用Java实现的。Spring的核心思想是使现代Java开发更加简单。Spring框架以其灵活性和透明性闻名,几乎可以用在任何Java环境中。Sprin
  • 2023-12-13spring ApplicationContext通常的实现是什么?
    FileSystemXmlApplicationContext:此容器从一个XML文件中加载beans的定义,XMLBean配置文件的全路径名必须提供给它的构造函数。ClassPathXmlApplicationContext:此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。WebXmlA