仓酷云

标题: JAVA教程之Spring-Context之七:利用p-namesapce和c-namespace简化bean的界说仓酷云 [打印本页]

作者: 变相怪杰    时间: 2015-1-18 11:19
标题: JAVA教程之Spring-Context之七:利用p-namesapce和c-namespace简化bean的界说仓酷云
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。在Spring中界说bean的体例多种多样,即便利用xml的体例来设置也能派生出良多分歧的体例。
好比以下的bean界说:
  1. 123456789101112
复制代码
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"><propertyname="name"value="Tom"/><propertyname="age"value="20"/></bean></beans>
复制代码
如许的bean有三行,经由过程利用p-namespace今后能够简化为一行。
  1. 123456789
复制代码
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"p:name="Tom"p:age="20"/></beans>
复制代码
那末甚么是p-namespace那?它的感化就是利用xml中的元素属性代替<property/>节点来界说bean的属性。这个奇妙的p是甚么工具那?它实际上是利用了namespace的xml扩大设置格局。beans的设置格局是界说在一个xsd格局中的(即http://www.springframework.org/schema/beans/spring-beans.xsd),但p却没有一个xsd格局文件与其对应,可是它能够被spring内核剖析处置。
下面只是演示了对属性为一般值的时利用p-namespace的注进,假如属性为另外一个bean的援用时该怎样处置那?很复杂。
这是利用一般体例注进属性。
  1. 123456
复制代码
  1. <beanid="messageService"class="SimpleMessageService"/><beanid="messageHandler"class="MessageHandler"><propertyname="messageService"><refbean="messageService"/></property></bean>
复制代码
利用p-namespace后是如许的。
  1. 12
复制代码
  1. <beanid="messageService"class="SimpleMessageService"/><beanid="messageHandler"class=“MessageHandler”p:messageService-ref=“messageService”/>
复制代码
加上-ref后缀即暗示是对一个bean的援用。
那既然setter办法注进bean可使用p-namespace,那末机关器体例注进有无响应的简写那?谜底是一定的,那就是c-namespace,道理和利用办法与p-namespace迥然不同。
利用c-namespace前:
  1. 123456789101112131415
复制代码
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:c="http://www.springframework.org/schema/c"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"><constructor-argname="name"><value>Tom</value></constructor-arg><constructor-argname="age"value="20"/></bean></beans>
复制代码
利用c-namespace后:
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"><propertyname="name"value="Tom"/><propertyname="age"value="20"/></bean></beans>0
复制代码
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"><propertyname="name"value="Tom"/><propertyname="age"value="20"/></bean></beans>1
复制代码
也能够利用-ref后缀来暗示对另外一个bean的援用。
  1. 12
复制代码
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"><propertyname="name"value="Tom"/><propertyname="age"value="20"/></bean></beans>3
复制代码
在后面章节解说机关器注进时,可使用机关参数索引来注进依附,c-namespace也撑持这一体例。
  1. 123456789101112
复制代码
  1. <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><beanid="person"class="Person"><propertyname="name"value="Tom"/><propertyname="age"value="20"/></bean></beans>5
复制代码

怎样,是否是很壮大啊。可是太甚壮大也简单伤人伤己。在项目中利用这些技能之前最好先和项目成员告竣分歧。
本例中的源码请在我的GitHub上自行下载。

从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。
作者: 小魔女    时间: 2015-1-20 20:15
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者: 小妖女    时间: 2015-1-29 20:20
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 分手快乐    时间: 2015-1-31 21:30
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者: 深爱那片海    时间: 2015-2-4 07:46
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者: 莫相离    时间: 2015-2-5 11:49
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者: 灵魂腐蚀    时间: 2015-2-6 13:36
是一种为 Internet发展的计算机语言
作者: 不帅    时间: 2015-2-16 07:23
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 乐观    时间: 2015-2-25 05:30
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
作者: 再现理想    时间: 2015-3-1 13:00
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者: 海妖    时间: 2015-3-7 09:32
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 冷月葬花魂    时间: 2015-3-14 17:09
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者: 老尸    时间: 2015-3-21 12:20
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2