WEB开发网
开发学院软件开发Java 从对象创建和引用小议解耦 阅读

从对象创建和引用小议解耦

 2010-07-12 00:00:00 来源:WEB开发网   
核心提示: 清单 7. 自定义 QualiferSimpleExpressionEvaluator.java@Qualifier@Target({ElementType.TYPE,ElementType.METHOD,ElementType.PARAMETER,ElementType.FIELD})@Ret

清单 7. 自定义 Qualifer

SimpleExpressionEvaluator.java 
@Qualifier 
@Target( { ElementType.TYPE, ElementType.METHOD, 
  ElementType.PARAMETER, ElementType.FIELD }) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface SimpleExpressionEvaluator { 
} 
 
CalculatorUI.java 
import javax.inject.Inject; 
public class CalculatorUI { 
 
  @Inject 
  @SimpleExpressionEvaluator 
  private ExpressionEvaluator expressionEvaluator; 
 
  public CalculatorUI() { 
  } 
 
  public String evaluate(String expression) { 
    if (expression == null || expression.isEmpty()) { 
      throw new IllegalArgumentException("[" + expression + 
        "] is not a valid expression"); 
    } 
    return expressionEvaluator.evaluate(expression); 
  } 
} 
 
ExpressionEvaluatorImpl.java 
@SimpleExpressionEvaluator 
public class ExpressionEvaluatorImpl implements ExpressionEvaluator { 
 
  public String evaluate(String expression) { 
    ......     
  } 
} 

与基于前面基于 Spring 的实现方式相比,两者均是使用对象注入技术,只是如何定义 Bean 对象之间的关联不一样,前者是使用 XML 配置文件,而后者则是通过标识。当然,Web Beans 的优势之一是类型安全。在使用 Spring 的 XML 配置时,不同 Bean 对象之间的注入是通过其 Id 实现的。例如在 清单 5所示的配置文件中,<ref> 元素用于指定目标注入实例对象。而从上述 WebBeans 的检索规则中可以确保注入操作的类型安全性,同时在部署过程中即可执行相关检测。

上一页  4 5 6 7 8 9 10  下一页

Tags:对象 创建 引用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接