package com.dao;
import java.util.List;
import com.model.User;
public interface UserDao {
public void add(User user);
public void delete(int id);
public void update(User usser);
public void get(int id);
public List<User> findAll();
}
package com.dao.impl;
import java.util.List;
import com.dao.UserDao;
import com.model.User;
public class UserHibernateDaoImpl implements UserDao {
@Override
public void add(User user) {
System.out.println("调用了UserHibernateDaoImpl add方法");
}
@Override
public void delete(int id) {
System.out.println("调用了UserHibernateDaoImpl delete方法");
}
@Override
public void update(User usser) {
System.out.println("调用了UserHibernateDaoImpl update方法");
}
@Override
public void get(int id) {
System.out.println("调用了UserHibernateDaoImpl get方法");
}
@Override
public List<User> findAll() {
System.out.println("调用了UserHibernateDaoImpl findAll方法");
return null;
}
}
package com.dao.impl;
import java.util.List;
import com.dao.UserDao;
import com.model.User;
public class UserJdbcDaoImpl implements UserDao {
@Override
public void add(User user) {
System.out.println("调用了UserJdbcDaoImpl add方法");
}
@Override
public void delete(int id) {
System.out.println("调用了UserJdbcDaoImpl delete方法");
}
@Override
public void update(User usser) {
System.out.println("调用了UserJdbcDaoImpl update方法");
}
@Override
public void get(int id) {
System.out.println("调用了UserJdbcDaoImpl get方法");
}
@Override
public List<User> findAll() {
System.out.println("调用了UserJdbcDaoImpl findAll方法");
return null;
}
}
package com.model;
public class User {
private int id;
private String name;
public User(){
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.service;
import com.dao.UserDao;
import com.dao.impl.UserJdbcDaoImpl;
public class UserService {
//IOC的声明方式
private UserDao userDao;
public void setUserDao(UserDao userDao){
System.out.println("调用了setUserDao方法");
this.userDao=userDao;
}
public void add(){
userDao.add(null);
}
}
<?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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<bean id="userDao1" class="com.dao.impl.UserJdbcDaoImpl"></bean>
<bean id="userService" class="com.service.UserService">
<!-- 组装依赖关系 -->
<property name="userDao" ref="userDao1"></property>
</bean>
</beans>
package com.test;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import com.service.UserService;
public class TestUserService {
@Test
public void testAdd(){
BeanFactory factory=new XmlBeanFactory(
new ClassPathResource("applicationContext.xml"));
UserService us=(UserService)factory.getBean("userService");
us.add();
}
}