JAVA CDI 学习(5) - 如何向RESTFul Service中注入EJB实例
时间:2022-04-24
本文章向大家介绍JAVA CDI 学习(5) - 如何向RESTFul Service中注入EJB实例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
RESTFul Service中如果要注入EJB实例,常规的@Inject将不起作用,在Jboss中,应用甚至都启动不起来(因为@Inject注入失败),解决方法很简单:将@Inject换成@EJB
参考代码:
CityInvoker是一个Stateless的EJB
package test;
import javax.ejb.Stateless;
import ...
@Stateless
public class CityInvoker {
public CityResponse getCity() {
CityResponse cityResponse = null;
CityService cityService = ApplicationContextUtils.getCityService();
try {
cityResponse = cityService.findCityByCode(RequestBuilder
.buildCityFindRequest());
} catch (LMSException e) {
e.printStackTrace();
}
return cityResponse;
}
...
下面是在RESTFul Service中注入的示例:
package test.rest;
import javax.ejb.EJB;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.JAXBElement;
import javax.xml.namespace.QName;
@Path("/")
public class TestService {
final String XMLNS_NAMESPACE = "http://yjmyzz.cnblogs.com/rest/service";
final String ROOT_NODE = "root";
@EJB
CityInvoker cityInvoker;
@GET
@Path("/findCity")
@Produces(MediaType.APPLICATION_XML)
public JAXBElement<CityDto> findCity() {
JAXBElement<CityDto> result = new JAXBElement<CityDto>(new QName(
XMLNS_NAMESPACE, ROOT_NODE), CityDto.class, cityInvoker
.getCity().getCities().get(0));
return result;
}
...
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Pytorch上下采样函数–interpolate用法
- scrapy框架携带cookie访问淘宝购物车功能的实现代码
- 浅析Python __name__ 是什么
- PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
- PHP后期静态绑定实例浅析
- php+mysql开发中的经验与常识小结
- PHP时间戳和日期相互转换操作实例小结
- php json转换相关知识(小结)
- PHP单例模式应用示例【多次连接数据库只实例化一次】
- 踩坑:pytorch中eval模式下结果远差于train模式介绍
- Python读取二进制文件代码方法解析
- Python3 webservice接口测试代码详解
- php往mysql中批量插入数据实例教程
- PHP类与对象后期静态绑定操作实例详解
- PHP后期静态绑定之self::限制实例分析