Spring框架:传统开发存在的问题解决方案

解决方案一:静态工厂

在XxxDao和XxxDaoImpl之间建立工厂,XxxDao需要什么就从工厂中拿,工厂中提供Dao实现.但现在工厂和UserDaoImpl之间有了耦合

1 class BeanFactory{
2      public static UserDao getUserDao(){
3          return new UserDaoImpl();
4      }
5      public static CustomDao getCustomDao(){
6          return new CustomDaoImpl();
7      }
8  }

 

解决方案二:静态工厂+配置文件xml+反射(这个即为IoC底层实现原理)

 1  //<bean id="userDao" class="com.xxx.xxx.UserDaoImpl">
 2  //<bean id="userDao1" class="com.xxx.xxx.UserDaoHibernateImpl">       
 3  class BeanFactory{
 4      public static Object getBean(String id){
 5          //解析XML
 6          //反射
 7          Class clazz = Class.forName("com.xxx.xxx.UserDaoImpl");
 8          return clazz.newInstance();
 9      }
10  }

 

 

posted @ 2019-07-30 11:08  Noperx  阅读(229)  评论(0编辑  收藏  举报