案例八:(<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)结果