代码总览
代码
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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
">
<bean id="userDao" class="com.itlwc.Test.UserDaoImpl"/>
<!--
autowire:表示自动装配,有byName和byType值可选,其他值不常用
byName:按名字匹配(按serviceImp类中的属性名匹配)
byType:按类型匹配
-->
<bean id="userService" class="com.itlwc.Test.UserServiceImpl"
autowire="byName" />
</beans>
Test.java
package com.itlwc.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
//dao
interface UserDao {
public void save();
}
// daoImp
class UserDaoImpl implements UserDao {
public void save() {
System.out.println("调用了UserDaoImpl");
}
}
// service
interface UserService {
public void add();
}
// serviceImp
class UserServiceImpl implements UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add() {
this.userDao.save();
}
}
public class Test {
public static void main(String[] args) {
// 尽量使用ApplicationContext不使用BeanFactory,因为功能更强大
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
UserService service = (UserService) ac.getBean("userService");
// 调用增加用户方法
service.add();
}
}
打印结果
调用了UserDaoImpl