阿里雲大學JavaWeb開發系列課程:Spring框架入門第三講

   項目結構  

 

UserDao.java

package cn.sxt.dao;

public interface UserDao{
	public void getUser();
}

UserDaoMySqlImpl.java

package cn.sxt.dao.impl;

import cn.sxt.dao.UserDao;

public class UserDaoMySqlImpl implements UserDao{
	@Override
	public void getUser() {
		// TODO 自動生成的方法存根
		System.out.println("mysql獲取用戶數據");
	}
}

UserDaoOracleImpl.java

package cn.sxt.dao.impl;

import cn.sxt.dao.UserDao;

public class UserDaoOracleImpl implements UserDao{

	@Override
	public void getUser() {
		// TODO 自動生成的方法存根
		System.out.println("oracle獲取用戶數據");
	}

}

UserService.java

package cn.sxt.service;

public interface UserService {
	public void getUser();
}

UserServiceImpl.java

package cn.sxt.service.impl;

import cn.sxt.dao.UserDao;
import cn.sxt.service.UserService;

public class UserServiceImpl implements UserService{
	private UserDao userDao=null;
	public void setUsserDao(UserDao userDao) {
		this.userDao=userDao;
	}

	/*
	 * 好像也可以寫一樣的,這幾個XXX
	 * public class UserServiceImpl implements UserService{ private UserDao
	 * 		xxX=null; 
	 * 		public void setXXX(UserDao xxX) {
	 * 		this.xxX=xxX; 
	 * }
	 * public void getUser() { 
	 * // TODO 自動生成的方法存根 
	 * xxX.getUser(); 
	 * }
	 * 配置文件beans.xml裏property name="xxX"
	 * 這樣寫好像也是可以的,但還是要注意規範
	 */
	@Override
	public void getUser() {
		// TODO 自動生成的方法存根
		userDao.getUser();
	}

}

Test.java

package cn.sxt.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.sxt.service.UserService;

public class Test {
	public static void main(String[] args) {
		ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");
		UserService us=(UserService)ac.getBean("service");
		us.getUser();
	}
}

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.xsd">
	<bean id="mysqlDao" class="cn.sxt.dao.impl.UserDaoMySqlImpl"/>
	<bean id="oracleDao" class="cn.sxt.dao.impl.UserDaoOracleImpl"/>
	<bean id="service" class="cn.sxt.service.impl.UserServiceImpl">
	<!-- ref引用對象(對象是由spring來創建) -->
	<!-- 這裏usserDao是setUsserDao中的UsserDao變爲小寫 -->
	<!-- 可以直接把ref="XXX"中的mysqlDao改爲oracleDao,其他地方不需要改變-->
	<!-- 即只需要改配置文件,其他地方不需要改變 -->
		<property name="usserDao" ref="oracleDao"></property>
	</bean>
</beans>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章