仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 433|回复: 10
打印 上一主题 下一主题

[学习教程] 发布一篇从spring的IOC提及(一)

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net,
这段工夫也实在好好的看了下spring的相干书本,对其也有了也许和开端的熟悉和了解,固然之前也一向传闻spring是一个十分优异的开源框架,可一向没无机会进修和利用(是否是有点后进了?呵呵),以是呢,这段工夫就重点进修了spring(一个礼拜的工夫固然是进门级的啦~~)
人人一向都说spring的IOC怎样怎样的壮大,实在我倒以为不是IOC怎样的强年夜,说白了IOC实在也十分的复杂。我们先从IOC提及,这个观点实际上是从我们平常new一个对象的对峙面来讲的,我们寻常利用对象的时分,一样平常都是间接利用关头字类new一个对象,那如许有甚么害处呢?实在很明显的,利用new那末就表示以后模块已不知不觉的和new的对象耦合了,而我们一般都是更高条理的抽象模块挪用底层的完成模块,如许也就发生了模块依附于详细的完成,如许与我们JAVA中倡始的面向接口面向笼统编程是相抵触的,并且如许做也带来体系的模块架构成绩。很复杂的例子,我们在举行数据库操纵的时分,老是营业层挪用DAO层,固然我们的DAO一样平常都是会接纳接口开辟,这在必定水平上满意了松耦合,使营业逻辑层不依附于详细的数据库DAO层。可是我们在利用的时分仍是会new一个特定命据库的DAO层,这有形中也与特定的数据库绑定了,固然我们可使用笼统工场形式来猎取DAO完成类,但除非我们一次性把一切数据库的DAO写出来,不然在举行数据库迁徙的时分我们仍是得修正DAO工场类。
那我们利用IOC能到达甚么呢?IOC,就是DAO接口的完成不再是营业逻辑层调用工场类往猎取,而是经由过程容器(好比spring)来主动的为我们的营业层设置DAO的完成类。如许全部历程就反过去,之前是我们营业层自动往猎取DAO,而现在是DAO自动被设置到营业逻辑层中来了,这也就是反转把持的由来。经由过程IOC,我们就能够在不修正任何代码的情形下,无缝的完成数据库的换库迁徙,固然前提仍是必需得写一个完成特定命据库的DAO。我们把DAO广泛到更多的情形下,那么IOC就为我们带来更年夜的便利性,好比一个接口的多个完成,我们只必要设置一下就ok了,而不必要再一个个的写工场来来猎取了。这就是IOC为我们带来的模块的松耦合和使用的便当性。
那为何说IOC很复杂呢?说白了实在就是由我们寻常的new转成了利用反射来猎取类的实例,信任任何人只需会用java的反射机制,那末本人写一个IOC框架也不是不成能的。好比:
……
publicObjectgetInstance(StringclassName)throwsException
{
  Objectobj=Class.forName(className).newInstance();
  Method[]methods=obj.getClass().getMethods();
  for(Methodmethod:methods){
    if(method.getName().intern()=="setString"){
      method.invoke(obj,"helloworld!");
    }
  }
}
……
下面的一个办法我们就很复杂的利用了反射为指定的类的setString办法来设置一个helloworld!字符串。实在能够看到IOC真的很复杂,固然了IOC复杂其实不暗示spring的IOC就复杂,spring的IOC的功效壮大就在于有一系列十分壮大的配置文件保护类,它们能够保护spring设置文件中的各个类的干系,这才是spring的IOC真正壮大的中央。在spring的Bean界说文件中,不但能够为界说Bean设置属性,还撑持Bean之间的承继、Bean的笼统和分歧的猎取体例等等功效。
下次俺再把spring的Bean设置的相干心得和人人一同分享下,假如说的欠好,人人能够提定见哦,可万万不要仍臭鸡蛋,嘿嘿~~~~
原文:http://j2ee.blog.sohu.com/63333114.html

首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-20 15:36:30 来自手机 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
乐观 该用户已被删除
板凳
发表于 2015-1-20 15:40:37 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再现理想 该用户已被删除
地板
发表于 2015-1-29 12:24:19 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
海妖 该用户已被删除
5#
发表于 2015-2-5 04:42:11 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
6#
发表于 2015-2-11 04:31:29 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-1 21:06:43 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
分手快乐 该用户已被删除
8#
发表于 2015-3-1 21:06:43 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
小妖女 该用户已被删除
9#
发表于 2015-3-10 23:46:55 | 只看该作者
是一种为 Internet发展的计算机语言
若相依 该用户已被删除
10#
发表于 2015-3-17 16:09:24 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
admin 该用户已被删除
11#
发表于 2015-3-24 11:15:30 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表