|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
Spring的官方界说是:一个轻量级的IoC和Aop容器框架,它利用了一种叫做依附注进的手艺。所谓依附注进,就是指将创立对象和协定依附对象之间互助的义务从对象本身直达移到“工场”中往,这个“工场”一般由IoC容器供应。
Struts2与Spring的集成要用到Spring插件包,这个包是同Struts2一同公布的。Spring插件是经由过程掩盖(override)Struts2的ObjectFactory来加强中心框架对象的创立。当创立一个对象的时分,它会用Struts2设置文件中的class属性往和Spring设置文件中的id属性举行联系关系,假如能找到则由Spring创立,不然由Struts2框架本身创立,然后由Spring来拆卸。Spring插件详细有以下几个感化:
1.同意spring来创立Action、Interceptror和Result
2.由Struts创立的对象可以被Spring拆卸
3.供应了2个拦阻器来主动拆卸action,假如没有利用SpringObjectFactory的话
这里要注重的是,我们不用在Spring中往注册action,只管我们能够这么往做,一般Struts框架会主动的从actionmapping中创立action对象。
要完成与Struts与Spring的集成有以下几步
1.将struts2-spring-plugin-2.0.8.jar文件包括到我们的使用中,放到WEB-INF/lib目次上面便可。在这个插件包中有个struts-plugin.xml文件,它的内容以下:
<struts>
<beantype="com.opensymphony.xwork2.ObjectFactory"name="spring"class="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
<constantname="struts.objectFactory"value="spring"/>
<packagename="spring-default">
<interceptors>
<interceptorname="autowiring"class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
<interceptorname="sessionAutowiring"class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
</interceptors>
</package>
</struts>
这里它将框架常量struts.objectFactory掩盖了,设置为”spring”,实在这里是利用了缩写,我们能够写全称:org.apache.struts2.spring.StrutsSpringObjectFactory。这个缩写的”spring”是和bean设置中的name属性绝对应的。默许情形下一切由框架创立的对象都是由ObjectFactory实例化的,ObjectFactory供应了与别的IoC容器如Spring、Pico等集成的办法。掩盖这个ObjectFactory的类必需承继ObjectFactory类大概它的任何子类,而且要带有一个不带参数的机关办法。在这里我们用org.apache.struts2.spring.StrutsSpringObjectFactory取代了默许的ObjectFactory。
别的,下面我们说了,假如action不是利用SpringObjectFactory创立的话,插件供应了两个拦阻器来主动拆卸action,默许情形下框架利用的主动拆卸战略是name,也就是说框架会往Spring中寻觅与action属性名字不异的bean,可选的拆卸战略另有:type、auto、constructor,我们能够经由过程常量struts.objectFactory.spring.autoWire来举行设置。
2.设置Spring监听器,将Spring.jar包包括到使用中
将上面一段话拔出到web.xml文件中,同时将spring.jar文件放到WEB-INF/lib目次上面。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3.使用Spring设置文件来注册对象
这以后的步骤就和我们利用独自利用Spring一样了,如今我们就已完成了Struts与Spring的集成了。这里有一点要注重的是,我们还要指定Spring设置文件的地址,默许情形下,容器会到WEB-INF目次上面往寻觅applicationContext.xml文件。假如我们想指定其余中央的设置文件大概指定多个设置文件,能够经由过程在web.xml文件中界说context-param元从来指定,以下所示:
<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml,classpath:applicationContext-*.xml</param-value></context-param>
下面一段话暗示WEB-INF上面的applicationContext.xml文件和classpath上面的一切婚配applicationContext-*.xml形式的文件城市作为Spring设置文件被装载。
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难 |
|