Spring-IoC-DI-基于xml的依赖注入-使用set方法进行注入(案例八:注入对象属性:外部bean)
案例八:(<ref>)注入对象属性:外部bean
外部bean:直接在beans标签内部直接定义的bean对象,外部bean可以被多个bean对象引用
(1)创建两个类service类和dao类,在service类中调用dao类的方法
public class UserService { //1.对象属性 private UserDaoImpl userDao; public void setUserDao(UserDaoImpl userDao) { this.userDao = userDao; } public void show() { userDao.add(); } }
public interface UseDao { public void add(); }
public class UserDaoImpl implements UseDao { @Override public void add() { System.out.println("UserDaoImpl add ......"); } }
(2)在spring配置文件中先配置对象创建,再配置属性注入
<!-- 1.配置对象创建 --> <bean id="userservice" class="com.orz.spring.test5.service.UserService"> <!-- 外部bean --> <property name="userDao" ref="userdao"></property> </bean> <bean id="userdao" class="com.orz.spring.test5.dao.UserDaoImpl"></bean>
(3)测试
@Test public void test1() { ApplicationContext context=new ClassPathXmlApplicationContext("bean5.xml"); UserService userservice = context.getBean("userservice", UserService.class); userservice.show(); }
(4)结果
UserDaoImpl add ......