========================================================================
只要引入了spring-context,就算是引入Spring了
// https://mvnrepository.com/artifact/org.springframework/spring-context
implementation ‘org.springframework:spring-context:5.2.9.RELEASE’
========================================================================
首先你得有个spring的配置文件:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:context=“http://www.springframework.org/schema/context”
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
"
<context:component-scan base-package=“com.example.spring.beans”/>
最最基础的通过xml引入spring的代码如下:
public void test1(){
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(“spring.xml”);
//student是通过bean的方式手动写入的
Object student = applicationContext.getBean(“student”);
System.out.println(student);
//teacher是通过component-scan+@Component注解结合的
Object teacher = applicationContext.getBean(“teacher”);
System.out.println(teacher);
}
BeanDefinitionRegistryPostProcessor
===================================================================================================
BeanDefinitionRegistryPostProcessor
是Spring提供的一个接口,可以用来对BeanDefinition进行增删改。
引申一下,Spring管理的所有的bean都必须生成BeanDefinition之后注册到BeanDefinitionRegistry中
我们直接看下面这段代码:
@Component
public class MyBeanDefinitionRegisterPostProcessor implements BeanDefinitionRegistryPostProcessor {
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
//从registry中获取名为student的bean的BeanDefinition
BeanDefinition student = registry.getBeanDefinition(“student”);
//获取student的propertyValues并添加age=20的属性
student.getPropertyValues().add(“age”, 20);
//创建一个通用的GenericBeanDefinition
GenericBeanDefinition genericBeanDefinition = new GenericBeanDefinition();
//设置beanClass为MyCustomizationBean1
genericBeanDefinition.setBeanClass(MyCustomizationBean1.class);
//将创建的BeanDefinition注册到registry中
registry.registerBeanDefinition(“myCustomizationBean1”, genericBeanDefinition);
}
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
结尾
这不止是一份面试清单,更是一种”被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。
由于细节内容实在太多啦,在这里我花了两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!**
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!