仓酷云

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

[学习教程] JAVA网页设计Spring-Context之六:基于Setter办法举行依附注进仓酷云

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。上文讲了基于机关器举行依附注进,这里解说基于Setter办法举行注进。在Java天下中有个商定(Convention),那就是属性的设置和猎取的办法名通常为:set+属性名(参数)及get+属性名()的体例。boolean范例稍有分歧,可使用is+属性名()体例来猎取。
以下是一个示例。
MessageHandler.java
  1. 12345678910111213141516
复制代码
  1. publicclassMessageHandler{privateMessageServicemessageService;publicMessageServicegetMessageService(){returnmessageService;}publicvoidsetMessageService(MessageServicemessageService){this.messageService=messageService;}publicStringhandle(){returnmessageService.sendService();}}
复制代码
利用Setter办法注进以下所示。
  1. 1234
复制代码
  1. <beanid="messageService"class="huangbowen.net.DependecyInjection.ConstructorInjection.SimpleMessageService"/><beanid="messageHandler"class="huangbowen.net.DependecyInjection.SetterInjection.MessageHandler"><propertyname="messageService"ref="messageService"/></bean>
复制代码
假如property的name为messageService,那末必需在类中有个叫做setMessageService的办法,如许才干完成注进。假如将MessageHandler.java中的setMessageService办法改成setMessageService1,那末注进就会失利,失利message以下所示。
  1. 1234567
复制代码
  1. ...java.lang.IllegalStateException:FailedtoloadApplicationContext...Causedby:org.springframework.beans.factory.BeanCreationException:ErrorcreatingbeanwithnamemessageHandlerdefinedinclasspathresource[spring-context.xml]:Errorsettingpropertyvalues;nestedexceptionisorg.springframework.beans.NotWritablePropertyException:InvalidpropertymessageServiceofbeanclass[huangbowen.net.DependecyInjection.SetterInjection.MessageHandler]:BeanpropertymessageServiceisnotwritableorhasaninvalidsettermethod.DidyoumeanmessageService1?...
复制代码
固然能够同时利用机关器注进和setter办法注进。
Person.java
  1. 12345678910111213141516171819202122
复制代码
  1. publicclassPerson{privateStringname;publicPerson(Stringname){this.name=name;}privateintage;publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringgetName(){returnname;}}
复制代码
bean界说以下:
  1. 1234
复制代码
  1. <beanid="person"class="huangbowen.net.DependecyInjection.SetterInjection.Person"><constructor-argvalue="Tom"/><propertyname="age"value="20"/></bean>
复制代码
要完成一个bean,便可以利用机关器注进,也能够利用setter注进,乃至能够在一个bean中综合利用这两种体例。那末在真正开辟中应当作何弃取那?一样平常来讲,利用机关器注进的依附必需是强迫的依附,而利用setter注进的依附则是可选的依附。利用机关器注进天生的对象是完整初始化了的,用户能够间接拿来用,可是比拟于setter办法而言用户也就得到了定制化的才能。假如你发明机关器参数过量,那末极可能申明该类承当的职责过量,应当从计划解耦的角度对类的职责举行拆分。利用setter注进的对象优点是,用户能够按需从头注进新的属性。

JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
若相依 该用户已被删除
沙发
发表于 2015-1-20 20:15:15 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-25 22:33:02 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
透明 该用户已被删除
地板
发表于 2015-1-27 14:29:56 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
海妖 该用户已被删除
5#
发表于 2015-2-5 05:33:48 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
柔情似水 该用户已被删除
6#
发表于 2015-2-6 15:12:54 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
简单生活 该用户已被删除
7#
发表于 2015-2-14 12:51:33 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
兰色精灵 该用户已被删除
8#
发表于 2015-3-4 17:52:20 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
金色的骷髅 该用户已被删除
9#
发表于 2015-3-6 07:58:00 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
admin 该用户已被删除
10#
发表于 2015-3-11 00:55:30 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
飘灵儿 该用户已被删除
11#
发表于 2015-3-17 17:10:54 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
小魔女 该用户已被删除
12#
发表于 2015-3-24 14:04:47 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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