0

我有一个特殊的问题。@InjectParam 适用于 tomcat,但不适用于 glassfish。

在 glassfish 中它只是空的。这有什么原因吗?

公共类 RestControllers {

private static Log log=LogFactory.getLog(RestControllers.class.getName()); 
@InjectParam
private RulesController controller;

当我说 controller.getSomething() 正在抛出 NPE 时。

controller.getSomething 仅在 glassfish 上引发空指针异常。在tomcat上像梦一样工作。

问候,

阿维纳什 C

4

2 回答 2

0

自己解决了这个问题。GlassFish 显然不支持球衣注释。

刚刚使用 Spring 的 ApplicationContextAware 接口来解决这个问题。

问候, 阿维纳什

于 2013-04-25T10:41:33.283 回答
0

如果您使用的是 Spring

1)请提及它是注释驱动的

<context:component-scan base-package="com.test.reports.controller"/>
<context:annotation-config/>
<mvc:annotation-driven/> 

在你的 application-context.xml

2)使用 Spring @Autowired 尝试在控制器中声明您的服务,如下所示:

@Autowired ReportService reportService[如在应用程序 Context 的 bean id 中]

于 2016-09-20T13:58:33.230 回答