..
在IoC容器是部分利用实例春关怀和配置是摆在它的对象,被称为豆。
豆是通过配置元数据可以是XML文件或Java注释 。 默认情况下,元数据是只读的XML,以便能够使用注释没有必要配置的ApplicationContext。
正如前面提到的IoC和DI部分是通过实施BeanFactory和ApplicationContext中。
由于在ApplicationContext是BeanFactory的超集,它建议,从现在起,我们将只提及all'ApplicationContext。
有提供Spring的ApplicationContext,取决于必须开发各类应用程序。
例如,对于独立的应用,我们ClassPathXmlApplicationContext的FileSystemXmlApplicationContext来,而对企业应用是在WebApplicationContext,它是通过一个serlvet监听器实例。
所有需要的ApplicationContext的配置元数据,然后我们需要实例化一个先写一个XML文件。
让我们举个例子,同样作为经营音像店的参考使用,看看如何初始化的IoC类VideoManager。
首先,我们创建一个文件使用元数据,我们称之为applicationContext.xml中:
<beans xmlns="http://www.springframework.org/schema/beans" ............>
< - !进口和其他元数据 - >
<import resource="otherbeans.xml"/>
< - 服务定义 - >
<bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />
< - 视频管理器定义 - >
<bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">
物权name="dvdService" ref="dvdService" />
</豆>
</豆>
这个例子说明,它可以整合多个元数据文件中给出的定义,以划分豆。
目前重要的是要了解元数据的语法(这将在后面解释),但春天的潜力。
从类的构造函数来初始化消除VideoManager dvdService并创建getter和setter方法的dvdService:
公共VideoManager(){
超级();
}
<DVD> getAvalaibleDvdList公开名单(){
//......
availabeDvdList回报;
}
公共无效setDvdService(DvdService dvdService){
this.dvdService = dvdService;
}
公共DvdService getDvdService(){
dvdService回报;
}
现在让我们看看如何初始化IOC:
/ **
* Instanz的IoC容器
* /
ApplicationContext中的ApplicationContext ClassPathXmlApplicationContext的=新的(“applicationContext.xml中”);
/ **
*检索类VideoManager
* /
VideoManager VideoManager =(VideoManager)applicationContext.getBean(“VideoManager”);
/ **
*打印列表中的DVD
* /
名单<DVD> avalaibleDvdList videoManager.getAvalaibleDvdList =();
为(DVD DVD:avalaibleDvdList){
System.out.println(dvd.getTitolo());
}
正如我们所看到的,写了几行XML代码,我们能够完全配置我们的应用程序。
使用Spring,已在前面的章节中所描述的优点突出:

再次提到我们的例子中,我们可以使用FileSystemXmlApplicationContext来这样的:
新的ApplicationContext的ApplicationContext FileSystemXmlApplicationContext来=(“/路径/ applicationContext.xml中”);而是用在企业应用程序的WebApplicationContext中,你需要在web.xml中添加(一个企业应用程序,使用Spring illutrato将是本指南的最后一章完整的例子):
< - 弹簧 - > <context-param> <param-name> contextConfigLocation </参数名称> <param-value>类路径*:applicationContext.xml中</参数值> </上下文参数> 的<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </监听级> </监听器>
| |
Linux操作系统(课程)
完整指南开源系统。 从49€。 |
| |
PHP(课程)
全部课程用于创建动态Web站点。 从49€。 |
| |
Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。 |