微信小程序选项卡功能开发步骤与方法全解析
556
2022-11-29
使用工厂来解耦
以前我们编写web项目总是dao层service层,在service调用dao里面时会用到以下代码
private IAccountDao accountDao = new AccountDaoImpl();
= new AccountServiceImpl();
一个是service调用dao 一个是servlet调用service都是耦合性十分强的操作 为了降低这个耦合性,我们引用了工厂BeanFactory
一个创建Bean对象的工厂Bean:在计算机英语中,有可重用组件的含义。JavaBean:用java语言编写的可重用组件。 javabean > 实体类它就是创建我们的service和dao对象的。第一个:需要一个配置文件来配置我们的service和dao配置的内容:唯一标识=全限定类名(key=value)第二个:通过读取配置文件中配置的内容,反射创建对象我的配置文件可以是xml也可以是properties 这里 在resources下面创建bean.properties文件,定义全限定类名 唯一标识=全限定类名(key=value)
=com.service.impl.AccountServiceImpl accountDao=com.dao.impl.AccountDaoImpl
接着我们创建一个工厂类来创建我们的service和dao对象的 BeanFactory.java
package com.factory;import java.io.InputStream;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import java.util.Properties;/** * 一个创建Bean对象的工厂 * * Bean:在计算机英语中,有可重用组件的含义。 * JavaBean:用java语言编写的可重用组件。 * javabean > 实体类 * * 它就是创建我们的service和dao对象的。 * * 第一个:需要一个配置文件来配置我们的service和dao * 配置的内容:唯一标识=全限定类名(key=value) * 第二个:通过读取配置文件中配置的内容,反射创建对象 * * 我的配置文件可以是xml也可以是properties */public class BeanFactory { //定义一个Properties对象 private static Properties props; //定义一个Map,用于存放我们要创建的对象。我们把它称之为容器 private static Map
经过这个类的创建我们就可以不用new关键字来创建对象了,用工厂类获取service和dao对象的
// 使用工厂类的获取dao,降低程序的耦合性 private IAccountDao accountDao = (IAccountDao)BeanFactory.getBean("accountDao");
= (IAccountService) BeanFactory.getBean("accountService");
总结:就是把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候, 让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时候,直接拿过来用就好了。这个类就是工厂BeanFactory
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~