关于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下的
[解决办法]