使用@Configuration_@Bean_@Import简化xml配置
发布时间:2020-12-16 06:38:53 所属栏目:百科 来源:网络整理
导读:使用@Configuration_@Bean_@Import简化xml配置 首先建一个Maven项目,导入项目所需要的spring依赖如下: dependencies!--springcontext--dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.1.1.RELEASE/version/dep
使用@Configuration_@Bean_@Import简化xml配置 首先建一个Maven项目,导入项目所需要的spring依赖如下: <dependencies> <!--springcontext--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.1.RELEASE</version> </dependency> <!--springcore--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.1.RELEASE</version> </dependency> <!--springbean--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.1.RELEASE</version> </dependency> <!--springaop--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.1.1.RELEASE</version> </dependency> <!--springjdbc--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.1.RELEASE</version> </dependency> <!--springtx--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.batch</groupId> <artifactId>spring-batch-core</artifactId> <version>3.0.2.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.1</version> </dependency> </dependencies> 新建UserService,RoleService两个类,如下: packagecom.lyx; publicclassUserService{ publicvoidaddUser(){ System.out.println("adduser"); } } packagecom.lyx; publicclassRoleService{ publicvoidaddRole(){ System.out.println("addrole"); } } 使用@Configuration注解如下: packagecom.lyx; importorg.springframework.context.annotation.Bean; importorg.springframework.context.annotation.Configuration; @Configuration publicclassServiceConfig{ @Bean(name="roleService") publicRoleServicegetRoleService(){ returnnewRoleService(); } @Bean(name="userService") publicUserServicegetUserService(){ returnnewUserService(); } } 使用@Import注解如下: packagecom.lyx; importorg.springframework.context.annotation.Configuration; importorg.springframework.context.annotation.Import; @Configuration @Import(ServiceConfig.class) publicclassAppConfig2{ } 运行该项目
App.java如下,使用AnnotationConfigApplicationContext类加载项目 packagecom.lyx; importorg.springframework.context.ApplicationContext; importorg.springframework.context.annotation.AnnotationConfigApplicationContext; publicclassApp{ publicstaticvoidmain(Stringargss[]){ @SuppressWarnings("resource") ApplicationContextcontext=newAnnotationConfigApplicationContext( AppConfig2.class); RoleServiceroleService=(RoleService)context.getBean("roleService"); roleService.addRole(); UserServiceuserService=(UserService)context.getBean("userService"); userService.addUser(); } } 运行结果:
使用XML的方式配置上面的例子
spring-service.xml配置service,如下: <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache.xsd http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"> <beanid="roleService"class="com.lyx.RoleService"></bean> <beanid="userService"class="com.lyx.UserService"></bean> </beans> applicationContext.xml配置app,如下: <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache.xsd http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"> <importresource="spring-service.xml"/> </beans> App2.java如下 packagecom.lyx; importorg.springframework.context.ApplicationContext; importorg.springframework.context.support.ClassPathXmlApplicationContext; publicclassApp2{ publicstaticvoidmain(Stringargs[]){ @SuppressWarnings("resource") ApplicationContextcontext=newClassPathXmlApplicationContext( "applicationContext.xml"); RoleServiceroleService=(RoleService)context.getBean("roleService"); roleService.addRole(); UserServiceuserService=(UserService)context.getBean("userService"); userService.addUser(); } } ====END==== (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |