JAVA网页设计在厨房,车顶,草地上利用Spring
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 Spring再壮大,也要面临到临的成绩--由于Spring不是Weblogic、Tomcat般的顶层容器,Servlet和EJB对象不由它创立,以是它必需要到临到Weblogic、Tomcat地点的位面。初学者一样平常不必管那末多,照着Spring+hibernate+Struts之类的Sample就做了,但渐渐的,大概就要入手下手在jsp+javabean系统,土制框架,Singleton类等情况下利用Spring了。
《ProfessionalJavaDevelopmentwiththeSpringFramework》第3章有"ManagingtheContaine"一节讲这个成绩。一样平常能够分为间接号召系与IoCfashion两类。
1.间接号召系--Singleton的ApplicationContext
最复杂的,就像在UnitTest里那样,间接机关ApplicationContext:
ApplicationContextctx=newClasspathXmlApplicationContext("ApplicationContext.xml");
在Web情况里,会利用ContextLoader机关ApplicationContext后,压进ServletContext。
由ContextLoaderListener或ContextLoaderServlet,在Web使用启动时完成。
然后在Jsp/Servelet中,能够经由过程ServletContext获得ApplicationContext:ApplicationContextcontext=WebApplicationContextUtils.getWebApplicationContext(application);
但像Singleton类大概EJB中,就没有ServletContext可用了。
假如全体像UnitTest那样间接机关,速率就会很不胜。天然的,就想到把ApplicationContext做成单例。
Spring供应了ContextSingletonBeanFactoryLocator如许的物体。
先弄一个beanRefFactory.xml,内里写上一切的applcationContext-*.xml文件名,并把Context定名为"default-context":
<beans>
<beanid="default-context"class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list><value>applicationContext.xml</value></list>
</constructor-arg>
</bean>
</beans>
然后让loactor往找它,但代码有点长:
BeanFactoryReferencebfr=DefaultLocatorFactory.getInstance().useBeanFactory("default-context");
BeanFactoryfactory=bfr.getFactory();
MyServicemyService=factory.getBean("myService");
bfr.release();
//nowusemyService
下面的代码其实是太天真,太贫苦了。
还不如本人完成一个复杂的Singleton,扩大ContextLoaderListener类,在Web体系启动时压进Singleton。
新的ContextLoaderListener类重载以下,ContextUtil中包括一个静态的ApplicationContext变量:
publicvoidcontextInitialized(ServletContextEventevent)
{
super.contextInitialized(event);
ServletContextcontext=event.getServletContext();
ApplicationContextctx=WebApplicationContextUtils.getRequiredWebApplicationContext(context);
ContextUtil.setContext(ctx);
}
用家可间接取用:
ApplicationContextcontext=ContextUtil.getContext();
2.IoCfashion
假如一切中央都利用间接号召系,那就反而是在打Rod的耳光了。由于他一向都否决代码与框架深耦合的。
以是,更好的办法是写一些gluecode、baseclass来完成Spring的到临,而不让使用代码发觉SpringApplicationContext的存在。
不外,由于各个框架的布局分歧,Rod也没举措讲出一个通用的整合办法,以是倡议人人只管进修已整合的各类框架,如SpringMVC、Struts的各种体例,写出本人的复杂整合代码来。
只要不断定的挪用某些Singleton类,不合适过早ioc的情形,可使用间接号召系。
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 是一种使网页(Web Page)产生生动活泼画面的语言 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 是一种为 Internet发展的计算机语言 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
页:
[1]