java - 如果 @Resource 无法解析,Glassfish/Wildfly 不会失败?

标签 java jakarta-ee wildfly servlet-3.0 glassfish-4.1

我正在 servlet 中试验 @Resource,看看我们是否可以使用它轻松注入(inject)配置参数(这是 Glassfish 4.1.1 中的 servlet 3.0 webapp)。

我在 https://stackoverflow.com/a/45715196/53897 中被告知我看到的 @Resource String userName 的行为在使用时如果 web.xml 中的 env-entries 不存在则无法解析则为 null,根据规范是错误的,但是WildFly 的行为是相同的。

问题是:这是一个已知的错误吗?是否有一个标志可以强制执行“如果不可解析则失败”?

最佳答案

这对于简单的环境条目是允许的:

EE.5.4.1.3

...
将字段或方法声明为注入(inject)目标通常很方便,但是 在代码中指定默认值,如以下示例所示。

//最大免税数量,由部署者配置。
@Resource int maxExemptions = 4;//默认为 4

为了支持这种情况,容器必须仅在以下情况下为此资源注入(inject)一个值: 部署者已指定一个值来覆盖默认值。
......

关于java - 如果 @Resource 无法解析,Glassfish/Wildfly 不会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45716813/

相关文章:

java - 如何将条件转换为oracle sql查询

java - 如何通过CDI实现命令模式?

java - 野蝇15 : Failed to process phase STRUCTURE of deployment

java - 如何在 Wicket 中将两个 List PropertyModels 合并为一个模型

java - 静态方法调用另一个静态方法,对象引用作为参数 :Is It Thread Safe?

jakarta-ee - Java EE 应用服务器和 JDK 版本需要匹配经过认证的版本吗?

java - 如何让 Apache Derby 和 Hibernate 在 Java EE 应用程序中打印英文异常消息?

spring-boot - 如何在 WildFly 10 中将 exploded war 部署为文件夹

Wildfly 上的 Spring Security : error while executing the filter chain

java - 协助编写 Java 中对数组列表求和的递归函数