易截截图软件、单文件、免安装、纯绿色、仅160KB

[译文]Java EE 6中的依赖注入——第1部分

原文:Dependency Injection in Java EE 6 – Part 1
作者:Reza Rahman
出处:http://www.theserverside.com/tt/articles/article.tss?l=DependencyInjectioninJavaEE6
 
这一文章系列介绍了Java EE的上下文和依赖注入(Contexts and Dependency Injection for Java EE,CDI),CDI是即将完成的Java EE 6平台的关键组成部分,经由JSR 299进行标准化。CDI是Java EE整个下一代类型安全的依赖注入的事实上的API。JSR 299由Gavin King领导,其目标是综合来自诸如Seam、Guice和Spring一类的解决方案的最好的依赖注入功能,同时加入许多自己的有用创新。
本文是文章系列的第一篇,我们打算从一个高层面来研究CDI,看看它是如何与Java EE整体相配合的,并讨论基础的依赖管理及作用域。在这一系列文章的介绍过程中,我们会涉及组件命名、版型(stereotype)、生产者(producer)、处置者(disposer)、装饰器(decorator)、拦截器(interceptor)、事件、用于可移植扩展的CDI API等,以及更多诸如此类的功能。我们还将讨论CDI如何与Seam、Spring以及Guice保持一致,并通过一些使用CanDI的实现细节来补充这一讨论。CanDI是Caucho对JSR299的独立实现,被收入到Resin应用服务器中。
 
快速回顾
 
Java EE 5的主要关注点是凭借POJO编程、注解和约定高于配置(convention-over-configuration)等方面来使得自身易于使用,Java EE 5中确实有依赖注入的基本形式,也许对其最恰当的术语称谓是资源注入(resource injection)。具体来说,你可以借助@Resource、@PersistenceContext、@PersistenceUnit和@EJB等注解把JMS连接工厂、数据源、队列、JPA实体管理器、实体管理器工厂和EJB一类的容器资源注入到Servlet、JSF后台bean(JSF backing bean)和其他的EJB中。这种模型适用于包含了被写成EJB和JSF的JPA领域对象、服务和DAO的应用。
不过,为了一些用例,你不得不求助于像Seam、Spring或Guice一类的更通用的依赖注入技术,例如,你不能把EJB注入到Struts Action或者JUnit测试中,以及不能注入因为不需要事务而没有被编写成EJB的DAO或者助手(helper)类中;另外,很难整合第三方/内部的API或者是使用Java EE 5作为构建这种并非仅仅是严格的业务组件的API的基础。而这些正好是CDI旨在解决的那一类问题,CDI以一种很好地吻合了Java理念的高度类型安全、稳定及可移植的方式来解决这些问题。实际上,Resin容器本身的许多部分都是利用JSR 2


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

JMS概要(Java Message Service Overview)

 
 
这个关于JMS(Java Message Service)的概要回答了下面几个问题:
 
1.什么是消息?
2.么是JMS API?
3.如何使用JMS API?
4. JMS API是如何与J2EE平台一起工作的?
 
1.1什么是消息?
消息是软件组件或者应用之间交流的一种方法。消息系统是一个点对点的功能,一个消息客户端可以发送和接 ......

java经典题目

 
 
楼主发表于:2008-06-17 15:26:20
l    JBS
1.列举出 10个JAVA语言的优势
a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用
2.列举出JAVA中10个面向对象编程的术语
a:包,类,接口,对象,属性,方法,构造器 ......

php和java上传文件的方法

java上传文件
需要的第三方jar包有(这里使用apache的)
apache的commons-fileupload(上传用),commons-io (listener清理类用) , commons-beanutils(可选)
具体操作
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
if(ServletFileUp ......

php和java关于目录树(列出某一目录下文件结构)

java的写法
/**
*
* @param location
* @param nameList保存结果的!
*/
public void listDict(String location, List<String> nameList) {
File fileList = new File(location);
if (fileList.isDirectory()) {
File[] files = fileList.listFiles();
for (File f : files) {
i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号