Spring入门示例二
使用面向接口编程技术:
1、创建一个接口。
package test2.dao;
public interface UserDao {
public void save(String uname,String pwd);
}
2、创建一个实现类将用户信息保存到Mysql数据库中。
package test2.dao;
public class UserDaoMysqlImpl implements UserDao{
@Override
public void save(String uname, String pwd) {
// TODO 实现数据操作,保存数据等(略)
System.out.println("------UserDaoMsqlImpl------");
}
}
3、创建一个实现类将用户信息保存到Oracle数据库中。
package test2.dao;
public class UserDaoOracleImpl implements UserDao {
@Override
public void save(String uname, String pwd) {
// TODO Auto-generated method stub
System.out.println("-------UserDaoOracleImpl-------");
}
}
4、创建一个管理类并将接口对象作为其属性。
package test2.manager;
import test2.dao.UserDao;
//管理类,将接口的对象作为其属性
public class UserManager {
private UserDao dao; //将接口的对象作为属性
public void save(String uname,String pwd) {
dao.save(uname, pwd);
}
public UserDao getDao() {
return dao;
}
public void setDao(UserDao dao){
this.dao = dao;
}
}
5、在Spring配置文件applicationContext.xml。
将JavaBean由Spring容器来管理。
<?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">
<!-- 在spring中配置bean的id以及所对应的类 -->
<bean id="hello" class="bean.Hello"></bean>
<!-- 配置Bean使Bean可以由Spring容器来管理 -->
<bean id="mysqlimpl" class="test2.dao.UserDaoMysqlImpl"></bean>
<!-- manager的dao这个属性值依赖Spring来注入,可以在程序中无需代码改变,就可以注入不同的实例,本例中向mysql保存数据就注入mysqlimpl,
如果后来想向oracle中保存数据只需要修改注入实例,即注入oracleimpl,代码并没有改变。
-->
<bean id="manager" class="test2.manager.UserManager">
<property name="dao" ref="mysqlimpl"></property>
</bean>
</beans>
6、编写测试类:
package test2;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import test2.manager.UserManager;
//测试
public class Test {
public static void main(String[] args) {
/**读取Spring配置文件,创建一个Bean工厂**/
@SuppressWarnings("resource")
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
/**读取Spring容器一个称为hello的bean,Spring容器自动创建对象**/
UserManager manager = (UserManager)factory.getBean("manager");
manager.save("admin", "1234");
/**因为注入的是mysqlimpl,所以信息保存到oracle数据库中**/
}
}
注意:完整的mysql实现,参考1、2、4、5、6即可。如需要配置oracle,则该applicationContext.xml文件即可。编写对数据库的操作略。