matrix java高级论坛之ioc与dependnecy injection<br><pre>chris-(197750- 专题:ioc 与 depe...
<span class=postbody><span style="font-weight: bold">一、什么是ioc</span> <br><br>ioc就是inversion of control,控制反转。在java开发中,ioc意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。 <br><br>下面我们以几个例子来说明什么是ioc <br><br><br>假设我们要设计一个girl和一个boy类,其中girl有kiss方法,即girl想要kiss一个boy。那么,我们的问题是,girl如何能够认识这个boy? <br><br><img border=0 src="http:/...
反射(reflection),泛型(generics),元数据(annotation),cglib,aop,ioc...面对着这些,我们像一夜暴富的农企,有点手足无措的样子。 第一感觉,应该出现新的design pattern书籍了。多年前基于c++语法写就的那本经典,很多模式都可以被更优雅的实现,还有更多的新模式,会随着这些技术的推广而涌现。 第二感觉,新的框架模式出现了。新框架的楷模就是spring,综合运用了除泛型外的大部分技术,把编程界的想像力mfc/ ejb container这样传统的template模式/钩子函数的思路,向完全无侵入的标准过渡。(为了简化编程使用spring的utility类造成的依赖不属于框架侵入),在现在的java体系下,编写框架的感觉是如此幸福。 第三感觉,自己应该重新充电。从c++下编写框架的经历到尽用“反射,泛型,元数据,cglib,aop,ioc”...
1. 在业务层使用jdbc直接操作数据库-最简单,最直接的操作紧耦合方式,黑暗中的痛苦1)数据库url,username,password写死在代码中 class.forname("oracle.jdbc.driver.oracledriver").newinstance(); string url="jdbc:oracle:thin:@localhost:1521:orcl"; string user="scott"; string password="tiger"; connection conn= drivermanager.getconnection(url,user,password); statement stmt=conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable); ...
ibatis似乎已远离众说纷纭的or框架之列,通常人们对非常流行的hibernate情有独钟。但正如spring: a developer's notebook作者bruce tate 和justin gehtland所说的那样,与其他的or框架相比,ibatis独辟蹊径:“ibatis不是试图从根本上掩盖sql,实际上,它是在拥抱sql。”但别犯愁:sql本身具备了一些重要的功能,并且通过模板的使用,在spring应用中采用ibatis显得轻而易举。在此摘录中,两位作者将和你一起安装ibatis并将其集成进你的spring应用中。他们也阐明了怎样取得你已编写的sql语句及把他们映射给ibatis使用的bean。最后,还讨论了ibatis的优缺点,及为什么是这样的一种方式,即所谓的“在完全or与jdbc之间的一个幽雅的折衷。”就象deve...
appfuse是一个集成了当前最流行的web应用框架的一个更高层次的web开发框架,也可以说是一个web开发基础平台,它与它所集成的各种框架相比,它提供了一部分所有web系统开发过程中都需要开发的一些功能,如登陆、用户密码加密,用户管理、根据不同的用户可以展现不同的菜单,可以自动生成40%-60%左右的代码,自带了默认的一些在css中设定的样式,使用这些样式能很快的改变整个系统的外观,还有自动化测试的功能。 它最大的价值就是为我们提供了一个web开发的新的方式和思路,尽管这些技术在国外都已进很流行了,但在国内能够将hibernate、struts、spring、dbunit、ant、log4j、struts menu、xdoclet、sitemesh、velocity、junit、jstl、webwork这些技术集成到一个框架中的还不多见,所以即使不使用它的全部功能,它也给我们提供了一个很...
appfuse分析1、.propertiesappfusegenerator.properties分析 # @(#)generator.properties ### appliction settings ### #框架名称,在运行com.codegenerator.runner.appfusegenerator时,作为args[]的参数被传入。此名称决定了配置文件及模板文件的存放路径。如框架名为appfuse,则相关的文件夹为:propertiesappfuse、templatesappfuse framework=appfuse appname=appfuse_joa ### if custom managers are not required uncomment the exclude parameter ### 用于配置哪些代码包不需要生成 #exclude=manag...
为spring远程服务增加自动发现和群集功能摘要本文讨论了自动化远程服务发现如何简化复杂的多层企业级应用的开发和布署。作者通过布署在jboss环境中的基于spring的应用演示了这人过程。本文假设读者已有一些spring框架的知识。版权声明:任何获得matrix授权的网站,转载时请务必保留以下作者信息和链接作者:mikhail garber;xmatrix(作者的blog:http://blog.matrix.org.cn/page/xmatrix)原文:http://www.javaworld.com/javaworld/jw-10-2005/jw-1031-spring.html译文:http://www.m...
版权声明:任何获得matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:mark eagle;孟大兴(作者的blog:http://blog.matrix.org.cn/page/littlebat)原文:http://www.onjava.com/pub/a/onjava/2004/04/07/wiringwebapps.html中文:http://www.matrix.org.cn/resource/article/44/44143_struts+spring+hibernate.html关键字:struts,spring,hibernate[译者前言:这篇文章由totodo在2004-09-16已经翻译过( http://www.matrix.org.cn/resource/article/1034.html ),本译文借鉴了不少他的成果。希望各位朋...
首先是一个简单的eclipse的工程目录结构,简单介绍我自己写的methodnameresolver和urlhandlermappingpathmethodnameresolver,根据url取得调用multiaction的方法名称,比如/user/useradd.action,就可以调用到id为user的类的useradd的方法来处理action package com.zgc.test.multiaction;import javax.servlet.http.httpservletrequest;import org.springframework.web.servlet.mvc.multiaction.methodnameresolver;import org.springframework.web.servlet.mvc.multiaction.nosuchrequesthand...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器