Spring 第二遍 02 spring IOC应用

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();
	}
}


你可能感兴趣的:(Spring 第二遍 02 spring IOC应用)