spring_150801_autowired_qualifier
新建java project工程,建src、conf、test源码文件夹,导入相关包,需要spring的相关jar包和common-logging相关jar包
接口Service:
package com.spring; public interface DogPetService { public void queryAllDogPets(); }
实现类ServiceImpl:
package com.spring.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import com.spring.DogPetService; import com.spring.dao.DogPetDAO; import com.spring.model.DogPet; public class DogPetServiceImpl implements DogPetService{ private DogPetDAO dogPetDAO; public DogPetDAO getDogPetDAO() { return dogPetDAO; } @Autowired public void setDogPetDAO(@Qualifier("dogPetDAO111") DogPetDAO dogPetDAO) { this.dogPetDAO = dogPetDAO; } @Override public void queryAllDogPets() { List<DogPet> list = dogPetDAO.queryAllDogPets(); if(list != null) { for(DogPet d:list) { System.out.println(d.toString()); } } } }
Service调用的DAO类:
package com.spring.dao; import java.util.ArrayList; import java.util.List; import com.spring.model.DogPet; public class DogPetDAO { public List<DogPet> queryAllDogPets() { List<DogPet> list = new ArrayList<DogPet>(); DogPet d1 = new DogPet(); d1.setId(1111); d1.setName("dog1"); d1.setAge(4); d1.setKind("buladuo"); d1.setSex("B"); d1.setHealth("good"); DogPet d2 = new DogPet(); d2.setId(2222); d2.setName("dog2"); d2.setAge(3); d2.setKind("buladuo"); d2.setSex("G"); d2.setHealth("good"); list.add(d1); list.add(d2); return list; } }
配置文件beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" 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"> <context:annotation-config/> <bean id="dogPetService" class="com.spring.service.impl.DogPetServiceImpl"> </bean> <bean id="dogPetDAO111" class="com.spring.dao.DogPetDAO"> </bean> </beans>
test类,需要引入junit4的相关jar包:
package com.spring.test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.spring.DogPetService; public class AutoWiredTest { @Test public void queryAllDogPets() { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); DogPetService dogPetService = (DogPetService)ctx.getBean("dogPetService"); dogPetService.queryAllDogPets(); } }