Spring IoC有什么好处呢?(14)

电脑杂谈  发布时间:2019-04-27 02:17:56  来源:网络整理

这种变革,就如同我们无需考虑对象销毁一样;因为Java的垃圾回收机制帮助我们实现了对象销毁;现在又无需考虑对象创建,对象的创建和销毁都无需考虑了,这给编程带来的影响是巨大的。

我们从一个简单例子开始,有一个普通类B代码如下:

public class B implements BI{

AInfterface a;

public B(AInfterface a){

this.a = a

}

public void invoke(){

/** ...*/

}

}

有两种使用B的方式:

普通无Ioc容器的调用方式:

BI b = new B(new A());//需要在生成B实例之前 生成A等实例

b. invoke();

使用Ioc容器的革命调用方式:

BI b = (BI) WebAppUtil.getService(“b”);

b. invoke();

上面两种方式重要区别:

zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 server 创建一个 ephemeral_sequential 目录节点,然后调用 方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得了这个锁,如果不是那么它就调用 (stringpath, booleanwatch) 方法并监控 zookeeper 上目录节点列表的变化,一直到自己创建的节点是列表中最小编号的目录节点,从而获得锁,释放锁很简单,只要删除前面它自己所创建的目录节点就行了。actioncontextcleanup-->、actioninvocation调用真正的action、如果actionmapper决定调用某个action,找到需要调用的action类、actionproxy创建一个actioninvocation的实例。

这时,你会感叹:哇,有没有搞错?我只不过是为了使用B类中一个小小的方法,就花去我这么多时间和精力?

当我们使用第二种方式时,就无需花很多精力和时间考虑A/C/D/E等类的创建。

使用Ioc容器,你再也不必做这些僵化愚蠢的工作了,我们只需从ioc容器中抓取一个类然后直接使用它们。

当然,在使用之前,我们需要做一个简单的配置,把你将来需要使用的类全部告诉ioc容器,例如Jdon框架的ioc容器配置jdonframework.xml如下:

<app>

<services>

<pojoService name=b class=test.B/>

<pojoService name=a class=test.A/>

<pojoService name=c class=test.C/>

</services>

</app>

注意:虽然B类代码调用了A类(甚至可能调用C等其他类),但是在配置中我们无需考虑这种调用关系。因此,整个环节我们都无需考虑B类中涉及其他类的调用关系;这样是非常省时省力的;特别是如果项目较大,JavaBeans特别多,又是协调开发,这种方式对提高开发效率;降低出错率是非常大的帮助。

究其原因,正是因为面膜造型有所改良,不再是单一的白色膜片,而如漫威英雄人物这般颇具男性特质的形象也能够很好地减轻男性消费者的心理负担,才让消费者结构发生了变化。6、容器关系运算符:只有容器类型一样,元素类型一样时才可以用关系运算符,且比较过程类似于string的比较,逐个元素调用关系运算符。随着微服务数量的急剧增加,跨应用、跨系统的调用越来越多,调用关系和依赖关系日益复杂,出现了所谓的“微服务大爆炸”。

ioc容器另外一个著名实现是Spring框架,但是在Spring的配置文件applicationContext.xml中,我们必须考虑上述调用关系:

。>.孟郊<.古诗十九首<>.李清照<,今日花开已一年------唐,天下谁人不识君------唐。-- 主要内容区域 -->

<{widgets id="left_sidebar"}
<{widgets id="main"}
<{widgets id="right_sidebar"}
<。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-94388-14.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...