Spring 的工厂类
欢迎来到我的 ChatGPT 中转站,极具性价比,为付费不方便的朋友提供便利,有需求的可以添加左侧 QQ 二维码,另外,邀请新用户能获取余额哦!最后说一句,那啥:请自觉遵守《生成式人工智能服务管理暂行办法》。
# Spring 的工厂类
# Spring 的工厂类结构图
# XmlBeanFactory(已废弃)
调用 getBean 的时候才会生成类的实例,意思就是说这个方式采用的加载策略是延迟加载。
public class BeanFactoryTest {
@Test
public void demo01() {
// 获取Spring容器的IOC核心容器
Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
//当程序走到这里才会创建accountService对象
IAccountService accountService = (IAccountService) factory.getBean("accountService");
accountService.save();
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# ApplicationContext(推荐)
加载配置文件的时候就会将 Spring 的管理的类都实例化,就意味着当 Spring 在加载 applicatioContext.xml
完成时,就立即创建了里面配置的所有对象的实例。
ApplicationContext
有两个实现类
ClassPathXmlApplicationContext
:用来加载类路径的FileSystemXmlApplicationContext
:用来加载本地磁盘的
public void demo01() {
// 获取Spring容器的IOC核心容器,当这一步走完后 IAccountService和IAccountDao对象就会创建
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 获取bean对象
// 一
IAccountService accountService = (IAccountService) context.getBean("accountService");
System.out.println(accountService);
// 二
IAccountDao accountDao = context.getBean("accountDao", IAccountDao.class);
System.out.println(accountDao);
accountService.save();
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
上次更新: 2025/04/12, 05:37:39