java ee不能运行_java-ee – @Inject无法初始化对象

我正在使用tomee服务器来运行我的

javaEE应用程序.我写了一个注入对象的过滤器.但是,该对象似乎没有实例化:

以下是我的代码:

Filter.java

@Priority(value = 2)

@Provider

@Singleton

public class Filter implements ContainerRequestFilter {

@Inject

private Faculty faculty;

public void filter(ContainerRequestContext requestContext) {

System.out.println("faculty name is :"+faculty.getFacultyName());

}

}

Faculty.java

import java.util.ArrayList;

import java.util.List;

import javax.annotation.PostConstruct;

public class Faculty {

private List facultyMembers;

private String facultyName;

@PostConstruct

public void initialize() {

this.facultyMembers = new ArrayList();

facultyMembers.add("Ian Schultz");

facultyMembers.add("Diane Reyes");

facultyName = "Computer Science";

}

public List getFacultyMembers() {

return facultyMembers;

}

public String getFacultyName() {

return facultyName;

}

}

我正在获得NPE.以下是堆栈跟踪:

java.lang.NullPointerException

at com.xyz.commerceapp.filters.Filter.filter(TransactionStartFilter.java:45)

at org.apache.cxf.jaxrs.utils.JAXRSUtils.runContainerRequestFilters(JAXRSUtils.java:1645)

at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:201)

at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:77)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)

at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)

以下是正在使用的工件的版本:

5.0.0-SNAPSHOT

2.0.0-SNAPSHOT

我尝试在META-INF和WEB-INF中包含beans.xml,但我仍然看到了NPE.有人让我知道我做错了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值