Chinaunix首页 | 论坛 | 博客
  • 博客访问: 999484
  • 博文数量: 152
  • 博客积分: 4937
  • 博客等级: 上校
  • 技术积分: 1662
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-05 16:55
文章分类

全部博文(152)

文章存档

2013年(12)

2012年(6)

2011年(58)

2010年(43)

2009年(1)

2008年(15)

2007年(17)

我的朋友

分类: Java

2013-02-26 09:00:06

最老的WEB开发是Servlet

之后是火热的SSH组合框架

现在用基于JavaEE6标准示范而进行的开发框架,组合为JSF + JPA + CDI


JSF用于界面,JPA用于数据库、持久化,CDI太猛了,不多介绍。

 

1、简介

CDI - Context Dependency Injection 上下文依赖注入:Java EE 6中定义的规范标准,编号: 。定义了一系列简化Java开发的功能。CDI已经超出一个框架的定义,升华到一种开发模型。这个开发模型不会去限制你必须将代码分为几层,不限制你必须写ORM、持久化、业务代码等,甚至不限制你到底是开发WEB程序还是客户端程序。

CDI的思想来源于几个开源项目:Seam、Guice、Spring However。不过CDI在集合了这几个框架的有点之外,克服了各自的缺点。

CDI只是一个标准( ),不是一个具体的框架,不同的应用服务器有其自己的实现,比如JBoss AS的CDI名叫Weld。

2、注入

既然名称叫做上下文依赖注入,那么首先看看到底是怎么注入的。

· 往哪里注入(3种)
 
1 public class Checkout {
2     private final ShoppingCart cart;
3   
4     @Inject
5     public Checkout(ShoppingCart cart) {
6         this.cart = cart;
7     }
8 }


↑  注入到构造方法。一个类只能有一个注入的构造方法
 
1 public class Checkout {
2     private ShoppingCart cart;
3   
4     @Inject
5     void setShoppingCart(ShoppingCart cart) {
6         this.cart = cart;
7     }
8 }


 
1 public class Checkout {
2     private @Inject ShoppingCart cart;
3 }


↑  注入到类属性。不需要getter与setter!

· 注入的顺序:
1)构造方法
2)类属性
3)方法注入
4)@PostConstruct

3、会话范围
1)@RequestScoped
2)@SessionScoped
3)@ApplicationScoped
4)@ConversationScoped
前三种可以在任何servlet中使用,conversation只能在JSF中使用。

 

阅读(2524) | 评论(0) | 转发(0) |
0

上一篇:jscolor下载地址

下一篇:JS操作JSON总结

给主人留下些什么吧!~~