Spring 3提供了使用基于Java的配置文件的功能,正如大家都讨厌使用庞大的XML配置文件。然而,这也没必要演变成一场“注释vs.XML”的讨论大战,我们可以轻松地将二者结合。 如果你使用@Configuration文件,你可以同时通过简单地添加@ImportResource注释,负载一个XML配置文件。meanbeans.xml的spring xml配置文件中的注释是基于spring applicationcontext对象的注释,如下所示: 以下是引用片段:@Configuration @ImportResource(“classpath:meanbeans.xml……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Spring 3提供了使用基于Java的配置文件的功能,正如大家都讨厌使用庞大的XML配置文件。然而,这也没必要演变成一场“注释vs.XML”的讨论大战,我们可以轻松地将二者结合。
如果你使用@Configuration文件,你可以同时通过简单地添加@ImportResource注释,负载一个XML配置文件。meanbeans.xml的spring xml配置文件中的注释是基于spring applicationcontext对象的注释,如下所示:
以下是引用片段: @Configuration @ImportResource("classpath:meanbeans.xml") class JConfig { } |
因此,如果你已经得到一个名为FooBean的类和一个名为BarBean的类,XML文件中已经有一个bean配置好了,其他的在Java @Configuration文件中。你可以将二者同时从单一beanFactory中放到应用中去。
以下是引用片段: class FooBean { } class BarBean { } |
得到如下结果:
以下是引用片段: public class XmlAndAnnotations { public static void main(String args[]) { AnnotationConfigApplicationContext beanFactory = new AnnotationConfigApplicationContext(JConfig.class); //new ClassPathXmlApplicationContext("meanbeans.xml"); System.out.println(beanFactory.getBean("fooBean")); System.out.println(beanFactory.getBean("barBean")); } } |
注意如何从beanFactory 中引入fooBean和barBean,而不管两个Bean是否在不同的配置源中配置?下面是完整的基于Java的配置文件,明确描述了确切的fooBean:
以下是引用片段: @Configuration @ImportResource("classpath:meanbeans.xml") class JConfig { @Bean() public FooBean fooBean() {return new FooBean();} } |
下面就是描述barBean的meanbeans.xml文件:
以下是引用片段: <beans xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" default-autowire="autodetect"> <bean id="barBean" class="com.mcnz.spring.BarBean" /> </beans> |
就是这样啦,当XmlAndAnnotations主方法类开始运行,fooBean和barBean将从两个分开的Spring配置源中装载。
相关推荐
-
如何用Spring 3来创建RESTful Web服务?
通过REST风格体系架构,请求和响应都是基于资源表示的传输来构建的。资源是通过全局ID来标识的,这些ID一般使用的是一个统一资源标识符(URI)。
-
整合WebSphere Portal 7和Spring 3.0 Portlet MVC(下)
下面的步骤描述如何安装Spring 3 Portlet MVC的应用程序。如果你已经知道如何部署应用程序,请随时跳过此章节。