耦合的问题

耦合的问题

用了Spring方法,我感觉Spring工厂很像一个中介的形式,吧接口和实例类联系了起来,传统方法只是2者联系,现在变成了3者联系不是耦合度更高了吗

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、耦合是指程序间的依赖关系,它包括  :类之间的依赖、方法之间的依赖,比如:

public class IAccountServiceImpl implements IAccountService {
    private IAccountDaoImpl accountDao = new IAccountDaoImpl();
    public void saveAccount(Account account) {
        accountDao.saveAccount();
    }
}

在这里业务层(service)调用持久层(dao)时,使用了new关键字。这里就有耦合性。必须通过new关键字实例化IAccountDaoImpl,才能调用IAccountDaoImpl中的内容。

    2、使用Spring工厂比传统方式来比较,Spring工厂是使用反射来创建对象,而避免使用new关键字,通过读取配置文件来获取创建对象的全限定类名,具有解耦合的特性。

    工厂获得了对应的对象,它通过配置文件来配置我们的service和dao。通过读取配置文件中配置的内容,反射创建对象。

http://img1.sycdn.imooc.com//climg/5f4208c209ba8b6407770200.jpg

在实际开发中,配合注解就实现了bean的注入,不用再用new关键字了。Spring其实就是可以管理bean的创建和它们之间的依赖关系。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 慕UI2433440 提问者 #1
    也就是配置文件和java代码发生的联系不算耦合是吧
    2020-08-23 14:47:27
  • 好帮手慕小班 回复 提问者 慕UI2433440 #2
    同学你好,同学的说法是正确的,这个不算是耦合。 继续加油 祝:学习愉快~
    2020-08-23 16:11:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师