Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客
Spring官网地址:https://spring.io

进入github往下拉
用maven引入spring-context依赖 写spring的第一个程序
引入下面依赖,好比引入Spring的基本依赖



需要一个spring配置文件,idea提供了模板

名字随意

在Spring的配置文件中配置完

测试去Spring容器中取该对象

报错原因应该是Spring6 需要JDK版本17的原因


JDK改成17

默认情况下Spring会通过反射机制,调用类的无参数构造方法来实例化对象



如果下面这样Spring还能创建对象吗





底层是将id作为key 对象做为value存在一个Map中

另外Spring的配置文件可以有多个

另建个Spring配置文件

ClassPathXmlApplicationContext有个重载的构造方法,允许传入多个配置文件


还可以这样放置Spring配置文件,但注意 bean id好比身份证号,必须唯一

这里报错原因是我原先在User类里加了有参构造
改回来


OK
配置文件里的bean可以是JDK里的bean


默认是单例的得到的对象是同一个

假设Spring配置文件在J盘,如何加载
![]()

ApplicationContext接口的超级父接口是BeanFactory,BeanFactory是IOC容器的顶级接口
SpringIOC容器底层实际上使用了工厂模式
并且也有getBean方法

SpringIOC如何实现的:XML解析+工厂模式+反射机制
那么在创建Spring容器的时候可以指向BeanFactory
BeanFactory applicationContext=new ClassPathXmlApplicationContext("spring-config.xml");
注意:
并非在getBean时候才初始化对象
实际当执行new ClassPathXmlApplicationContext("spring-config.xml");时候已经初始化了对象放在容器中

getBean是去容器中已经存在的bean对象中取
Spring6如何用Log4j2日志框架(Spring内部打了很多日志,用的就是Log4j2)
spring5之后支持Log4j2
1.引入Log4j2依赖
2.在根的路径下(resources目录下)提供log4j2.xml配置文件(文件名固定)
再次测试




可以配置个模板

以后用就方便多了










