问题标签 [jsr330]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1007 浏览

java - 应用程序如何通知 Spring 应用程序上下文在哪里可以找到构造函数带有 @Inject 注释的类?

如何修复以下示例,以便通知Spring 应用程序上下文在哪里可以找到Application其构造函数带有注释的类@Inject,但引入带有ApplicationConfiguration注释的 bean 方法@Bean返回类的实例Application

您可以在GitHub 上的AtInject项目中查看源代码。

当我运行类Start时,Spring 抱怨它找不到类Application

0 投票
1 回答
328 浏览

java - 为什么 JSR-330 不能与 Jersey 和 Spring 一起使用

我有一个 bean @RequestScope,当我将它注入到我的一个单例中时,它是作为单例注入的,而不是作为请求范围注入的。但是,如果我将 更改@RequestScope@Scope( value = "request", scopeName = "request", proxyMode = ScopedProxyMode.TARGET_CLASS),Spring 会将 bean 创建为请求范围并将它们正确地注入到单例中。

我阅读了有关此的 Spring 文档:

JSR-330 默认作用域类似于 Spring 的原型。但是,为了与 Spring 的一般默认值保持一致,在 Spring 容器中声明的 JSR-330 bean 默认为单例。为了使用单例以外的范围,您应该使用 Spring 的 @Scope 注释。javax.inject 还提供了一个@Scope 注解。然而,这个仅用于创建您自己的注释。

这是否也意味着@RequestScopedSpring 真的忽略了这一点?是否有任何 Provider/Resolver 可以使用 Spring 解决此问题?我想尽可能地使用@RequestScoped注解而不是@Scopespring的注解,因为我们只需要使用JSR注解

http://docs.spring.io/spring/docs/4.2.5.RELEASE/spring-framework-reference/html/beans.html#beans-standard-annotations-limitations

0 投票
1 回答
872 浏览

java - 在 Spring 中使用 @Inject 进行字段注入

@Inject在 Spring 的工作中有一些奇怪的行为。这个例子效果很好:

但是如果我替换@Autowired@InjectshowHome方法会抛出NullPointerException,因为someBeanis null。setter 注入也是如此。但是使用构造函数注入两者@Autowired并且@Inject效果很好。

为什么会这样?

我正在使用 Spring 4.3.1。我的依赖pom.xml项如下所示:

0 投票
1 回答
2283 浏览

java - JSR-330 中的 Inject 和 Provider 有什么区别

全部

我不知道 JSR-330 中的 Inject 和 Provider 有什么区别。我正在使用 google guice,并且每天都在使用@Inject,而且我知道在 JSR-330 中,它具有Provider<T>.

我的问题是

  1. 是什么意思Provider<T>
  2. 什么时候可以当用户Provider<T>
  3. 有什么区别@Inject

提前致谢。

0 投票
1 回答
151 浏览

java - Struts2 中的 Guice 3

我正在尝试集成Guice 3到我的Struts应用程序中。这就是我所做的: 界面:

执行:

我创建了Guice模块:

然后我在我的Action

问题是它personDAO始终为空。

问题:如何正确集成Guice到我的应用程序中

问候。

0 投票
3 回答
2605 浏览

spring - Hibernate 验证器中的自定义消息密钥不适用于 message.property

我正在开发 Spring Boot,我使用了 Hibernate Validator 来验证我的 bean。我添加了一个带有@NotEmpty注释的自定义键,并在 message.properties 中添加了键/值对,但它没有从 message.property 中获取它的值

这是我的带有验证注释的bean:

message.properties(路径:src/main/resources/message.properties)

我还配置了消息资源

我也配置了LocalValidatorFactoryBean

每当我验证这个 bean 时,它都会显示它的键而不是它的值。Hibernate 验证器默认搜索消息键在里面ValidationMessages.properties所以每当我添加ValidationMessages.properties文件时添加消息这个键值然后它对我来说工作正常。

但我不想添加 ValidationMessage.properties 文件,而不是这个我想在我的 message.properties 文件中处理这个消息键。

我知道在堆栈溢出中已经有一些与此相关的问题,但这些解决方案并没有解决我的问题。我无法找出我在这里做错了什么。

0 投票
0 回答
447 浏览

spring-mvc - 弹簧 MVC 和 CDI(焊接)

是否可以在 Web 应用程序中使用 Spring MVC 和 Weld?我还使用 WildFly 10.1 作为我的服务器和 RestEasy。

0 投票
1 回答
539 浏览

spring - JSR-330 @Scope 和 Spring 不匹配

JSR-330 Scope 注释的 java doc 声明“使用实例进行一次注入,然后忘记它”,这意味着该实例是作用域原型,而 Singleton 注释旨在创建作为 spring 的默认行为的单例。所以问题是,为什么当我使用 Named 注释而不是 Spring Component 注释时,Spring 不遵循 JSR 准则并将 bean 限定为原型?在我看来,它应该如此。

我想将 spring 依赖项合并到一个模块中,并在其他任何地方使用 JSR-330,所以如果需要,我可以在以后轻松切换。

0 投票
0 回答
919 浏览

java - JSR 330 javax.inject.Provider 没有在 @Autowired 字段中注入 org.springframework.core.env.Environment

我正在使用 Provider 在 for 循环中创建原型 bean(带有 @Autowired 字段)

但看起来,Provider 与 Spring Framework 的配合并不好

每当我尝试执行Provider get()方法时,都不会注入 Spring Autowired Environment Bean

我怀疑在调用时get(),我们得到的是 JSR330 托管 Bean 而不是 Spring Managed Bean

看片段

BeanClass.java

Classy.java

当我执行此操作时,我收到一个错误,指定“环境”bean 不可用

或者我应该使用@Inject 代替@Autowired?我不确定...

任何可以澄清这一点并提供解决方案的Spring Sensei?

堆栈跟踪:

更新:

这很奇怪......当我创建一个虚拟代码并复制它时,环境被正确地注入了@Autowired现场......

请参阅:线程 Beans 和自动装配以获取更多详细信息

0 投票
1 回答
551 浏览

java - 使用 JSR330 Provider 时,Threaded Beans 在 Spring 中没有得到 Environment @Autowired

希望问题是不言自明的

ClassA.java

ClassB.java

ClassC.java

类配置.java

主要方法

更新主要方法(仍然有同样的问题)

执行时,这会导致NoSuchBeanDefinitionExceptionbean '环境'

但是当我们在配置类中定义以下内容时,错误消失得无影无踪。这是解决方法(但 Spring 应该自动注入 Environment 我们不应该这样做)。不知道有多少这样的豆子没有注入/@Autowired

我怀疑这是一个 Spring Framework 错误...不是吗?

堆栈跟踪:

笔记:

  1. 春天:4.3.9.RELEASE
  2. JSR330:javax.inject 版本 1