Spring学习注意事项

从ApplicationContex应用上下文容器中获取bean和从bean工厂容器中获取bean:
具体案例:
//从ApplicationContext中取bean
ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");
//当我们去实例化beans.xml,该文件中配置的bean被实例化(该bean scope是 singleton)从bean中取出student
//如果我们使用beanfactory去获取bean,当你只是实例化该容器, 那么容器的bean不被实例化,只有当你去使用getBean某个bean时,才会实时的创建.
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));
factory.getBean("student");
结论:
如果使用ApplicationContext ,则配置的bean如果是 singleton不管你用不用,都被实例化.(好处就是可以预先加载,缺点就是耗内存)
如果是 BeanFactory ,则当你获取beanfacotry时候,配置的bean不会被马上实例化,当你使用的时候,才被实例(好处节约内存,缺点就是速度)
规定: 一般没有特殊要求,应当使用ApplicationContext完成(90%)

bean 的  scope的细节:
<bean scope=“singleton|prototype|request|session|global session” />
singleton: 单例 默认值,在每个Spring IoC容器中一个bean定义对应一个对象实例。
prototype: 原型  一个bean定义对应多个对象实例。
request: 一次请求有效( java web开发中)
session: session级有效(java web开发中)
global session:该作用域仅在基于web的Spring ApplicationContext情形下有效。

三种获取ApplicationContext 对象引用的方法:
ClassPathXmlApplicationContext : 通过类路径
FileSystemXmlApplicationContext : 通过文件路径
举例:
ApplicationContext ac=new FileSystemXmlApplicationContext("文件路径beans.xml / applicationContext.xml");
XmlWebApplicationContext : 从web系统中加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值