MyException - 我的异常网
当前位置:我的异常网» J2EE » 关于spring的IOC你了解多少?该如何处理

关于spring的IOC你了解多少?该如何处理

www.MyException.Cn  网友分享于:2013-04-24  浏览:22次
关于spring的IOC你了解多少?
我们大家用spring的时候,当然要有一个applicationContext.xml文件,当我把这个文件放到工程目录src下的时候,我想每回来取得这个xml文件里的bean的时候,就要这样写:
BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml");

因为是放到src下,所以用的是ClassPathXmlApplicationContext这个方法来取得xml文件。

但是我还想知道其他的方法,大家来多多像我这样举出取得spring的xml文件的其他方法吧,越多越好,必须要有详细的说明,以及充要条件等。



还有一个问题就是,我们在applicationContext.xml里配置bean的时候,在<bean>标签里有很多属性吧,如scop,abstract等,大家谁有关于<bean>标签里属性的介绍,详细点的,粘贴出来分享下。如果自己知道的,能说明白的和说全的,也请说出来吧,然后你就做我师傅好了o(∩_∩)o...



------解决方案--------------------
BeanFactory factory = new XmlBeanFactory(new FileSystemResource(
"web/WEB-INF/classes/applicationContext.xml"));
// 从文件系统中的xml文件载入上下文信息
ApplicationContext fx = new FileSystemXmlApplicationContext(
"web/WEB-INF/classes/applicationContext.xml");
// 从类路径中的xml文件载入上下文信息
ApplicationContext cx = new ClassPathXmlApplicationContext("applicationContext.xml");
applicationContext.xml

------解决方案--------------------

ClassPathXmlApplicationContext类:是从当前类路径中检索配置文件并装载它来创建容器的实例。
FileSystemXmlApplicationContext类:他也是ApplicationContext接口的实现类,它和ClassPathXmlApplicationContext类的不同就在于读 取Spring配置文件的方式。它不再从类路径中获取配置文件,而是通过参数指定配置文件的位置,可以获取类路径之外的资源。具体语法格式如下:
ApplicationContext context = new FileSystemXmlApplicationContext(String configLocation);
楼主用第二种就可以不用在web/WEB-INF/classes路径下了,configLocation,就是之你上下文放置的路径!

------解决方案--------------------
BeanFactory beanFactory = new ClassPathXmlApplicationContext(); 
//如果是配置文件叫applicationContext.xml,完全可以不写
------解决方案--------------------
如果applicationContext.xml,只要放在classes下,spring的jar包自己会去读的,你只要把配置写对就行了
------解决方案--------------------
基于Spring框架的项目也做了若干,包括web项目和java项目,这里给楼主几点建议:
1.建议查一下“import”标签,通过“import”标签可以将其它配置文件注入置当前配置文件,就类似与java的import。提这个是建议楼主:将applicationContext.xml文件做成配置文件的集合,而文件集合中的每个文件都描述项目中具体的功能或组件,这样配置文件就比较清晰。
2.Spring是容器,重要的不在与实现容器,也就是实例化,而是在于使用容器。我就比较喜欢往容器中扔垃圾。
3.最后建议楼主能把Spring的源码看一下,一方面可以帮你了解如何使用Spring,另一方面可以帮你理解Spring。
------解决方案--------------------
你的applicationContext.xml放在哪里,就写对应的路径。new FileSystemResource(XXX)这里的参数取决于你的文件放在哪里。不是必须放在web-inf下的
------解决方案--------------------
探讨
引用:
BeanFactory beanFactory = new ClassPathXmlApplicationContext();
//如果是配置文件叫applicationContext.xml,完全可以不写



不写的话 不会报错么?

------解决方案--------------------
BeanFactory factory = new XmlBeanFactory(new FileSystemResource( 
"web/WEB-INF/classes/applicationContext.xml")); 


------解决方案--------------------
scope有两种取值:
1、singleton(默认值):每次调用getBean的时候返回相同的实例,在IOC容器里只创建一个实例。
2、prototype:每次调用getBean的时候返回不同的实例,在IOC容器里创建多个实例。


abstract取true或false,默认是false。
当abstract取true时说明这是个抽象bean,没有具体的现实,不用配置type具体的实现类。
可以让其他bean来继承。
------解决方案--------------------
BeanFactory : 提供DI功能
多种实现,XMLBeanFactory 是最常用
依赖 Resource , 有两种 Resource 实现最常用:
ClassPathResource 
FileSystemResource
ApplicationContext : 扩展了BeanFactory 
三种常用实现:
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
XmlWebApplicationContext
这三种实现区别于从不同的位置加载配置文件

文章评论

Java程序员必看电影
Java程序员必看电影
程序员的鄙视链
程序员的鄙视链
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
10个调试和排错的小建议
10个调试和排错的小建议
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
中美印日四国程序员比较
中美印日四国程序员比较
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
每天工作4小时的程序员
每天工作4小时的程序员
程序员都该阅读的书
程序员都该阅读的书
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
旅行,写作,编程
旅行,写作,编程
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
 程序员的样子
程序员的样子
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
鲜为人知的编程真相
鲜为人知的编程真相
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
如何成为一名黑客
如何成为一名黑客
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员和编码员之间的区别
程序员和编码员之间的区别
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员必看的十大电影
程序员必看的十大电影
程序员应该关注的一些事儿
程序员应该关注的一些事儿
总结2014中国互联网十大段子
总结2014中国互联网十大段子
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
那些争议最大的编程观点
那些争议最大的编程观点
漫画:程序员的工作
漫画:程序员的工作
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
我是如何打败拖延症的
我是如何打败拖延症的
一个程序员的时间管理
一个程序员的时间管理
我的丈夫是个程序员
我的丈夫是个程序员
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有