JDBC系列教程之七:用配置文件(properties)和反射实现与具体类的耦合

2013-08-29|来源: 领悟书生

添加一个配置文件,读取配置文件中的数据的种项配置,用反射实现与具体类的耦合

l  用配置文件(properties)和反射实现与具体类的耦合

DaoFactory.java

package com.hyneng.jdbc.dao;

       

import java.io.InputStream;

import java.util.Properties;

/**

* 2010-10-07

* @author HuangYineng

*/

public class DaoFactory {

   private static UserDao userDao = null;

   private static DaoFactory instance = new DaoFactory();

   private DaoFactory() {

      try {

          Properties prop = new Properties();

          InputStream inStream = DaoFactory.class.getClassLoader()

                 .getResourceAsStream("daoconfig.properties");

          prop.load(inStream);

          String  userDaoClass = prop.getProperty("userDaoClass");

          Class clazz = Class.forName(userDaoClass);

          userDao = (UserDao)  clazz.newInstance();

      } catch (Throwable e) {

          throw new ExceptionInInitializerError(e);

      }

   }

   public static DaoFactory getInstance() {

      return instance;

   }

   public UserDao getUserDao() {

      return userDao;

   }

}

daoconfig.properties

userDaoClass=com.hyneng.jdbc.dao.impl.UserDaoJdbcImpl

#userDaoClass=cn.itcast.jdbc.dao.impl.UserDaoHibernateImpl

UserDaoTest.java

package com.hyneng.jdbc.dao;

import com.hyneng.jdbc.domain.User;

/**

* 2010-10-07

* @author HuangYineng

*/

public classUserDaoTest  {

   public static void main(String[] args) {

      UserDao userDao = DaoFactory.getInstance().getUserDao();

      // System.out.println(userDao);

      //    

      // User user = new User();

      // user.setBirthday(new Date());

      // user.setName("dao name1");

      // user.setMoney(1000.0f);

      // userDao.addUser(user);

      // User u = userDao.findUser(user.getName(), null);

      // System.out.println(u.getId());

      User u = userDao.getUser(4);

      u.setMoney(20000.1f);

      userDao.update(u);

      // User u1 = userDao.getUser(8);

      // userDao.delete(u1);

   }

}


本文链接:JDBC系列教程之七:用配置文件(properties)和反射实现与具体类的耦合,转自请注明:http://www.656463.com/article/801

相关问答

更多

关于Spring读取properties配置文件的一个问题

先将ReadProperties类配置到 Spring中去。 代码如下 public class ReadProperties{ private String myName; private String myAddress; //为name和address提供GETTER和SETTER方法 public static void main(String[] args){ System.out.println("My name is "+myName); System.out.println("My ...

spring mvc 怎么实现国际化!就是中英繁的转换!是用jq来写方便还是用配置文件!有没有具体

在servlet.xml里配置下不就好了 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="classpath:i18n/messages" /> </bean>

spring mvc 怎么实现国际化!就是中英繁的转换!是用jq来写方便还是用配置文件!有没有具体

在servlet.xml里配置下不就好了 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="classpath:i18n/messages" /> </bean>

怎么在spring配置文件中配置properties

1.PropertyPlaceholderConfigurer类 它是把属性中的定义的变量(var)替代,spring的配置文件中使用${var}的占位符 db.properties ${jdbc.driverClassName} ${jdbc.url} ${jdbc.username} ${jdbc.password} db.properties文件 jdbc.driverClassName=org.hsqldb.jdbcDriver jdbc.url=jdbc:hsqldb:hsql://pr ...

怎么在spring配置文件中配置properties

1.PropertyPlaceholderConfigurer类 它是把属性中的定义的变量(var)替代,spring的配置文件中使用${var}的占位符 <beans> <bean id="configBean" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"><value>db.properties</value></propert ...

专题教程

JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
Gson教程
快速了解 jdk8 新特征

相关文章

更多

最近更新

更多