问题标签 [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.
java - 应用程序如何通知 Spring 应用程序上下文在哪里可以找到构造函数带有 @Inject 注释的类?
如何修复以下示例,以便通知Spring 应用程序上下文在哪里可以找到Application
其构造函数带有注释的类@Inject
,但不引入带有ApplicationConfiguration
注释的 bean 方法@Bean
返回类的实例Application
?
您可以在GitHub 上的AtInject项目中查看源代码。
当我运行类Start
时,Spring 抱怨它找不到类Application
:
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 注解。然而,这个仅用于创建您自己的注释。
这是否也意味着@RequestScoped
Spring 真的忽略了这一点?是否有任何 Provider/Resolver 可以使用 Spring 解决此问题?我想尽可能地使用@RequestScoped
注解而不是@Scope
spring的注解,因为我们只需要使用JSR注解
java - 在 Spring 中使用 @Inject 进行字段注入
我@Inject
在 Spring 的工作中有一些奇怪的行为。这个例子效果很好:
但是如果我替换@Autowired
为@Inject
,showHome
方法会抛出NullPointerException
,因为someBean
is null
。setter 注入也是如此。但是使用构造函数注入两者@Autowired
并且@Inject
效果很好。
为什么会这样?
我正在使用 Spring 4.3.1。我的依赖pom.xml
项如下所示:
java - JSR-330 中的 Inject 和 Provider 有什么区别
全部
我不知道 JSR-330 中的 Inject 和 Provider 有什么区别。我正在使用 google guice,并且每天都在使用@Inject
,而且我知道在 JSR-330 中,它具有Provider<T>
.
我的问题是
- 是什么意思
Provider<T>
? - 什么时候可以当用户
Provider<T>
? - 有什么区别
@Inject
?
提前致谢。
java - Struts2 中的 Guice 3
我正在尝试集成Guice 3
到我的Struts
应用程序中。这就是我所做的: 界面:
执行:
我创建了Guice
模块:
然后我在我的Action
:
问题是它personDAO
始终为空。
问题:如何正确集成Guice
到我的应用程序中?
问候。
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 文件中处理这个消息键。
我知道在堆栈溢出中已经有一些与此相关的问题,但这些解决方案并没有解决我的问题。我无法找出我在这里做错了什么。
spring-mvc - 弹簧 MVC 和 CDI(焊接)
是否可以在 Web 应用程序中使用 Spring MVC 和 Weld?我还使用 WildFly 10.1 作为我的服务器和 RestEasy。
spring - JSR-330 @Scope 和 Spring 不匹配
JSR-330 Scope 注释的 java doc 声明“使用实例进行一次注入,然后忘记它”,这意味着该实例是作用域原型,而 Singleton 注释旨在创建作为 spring 的默认行为的单例。所以问题是,为什么当我使用 Named 注释而不是 Spring Component 注释时,Spring 不遵循 JSR 准则并将 bean 限定为原型?在我看来,它应该如此。
我想将 spring 依赖项合并到一个模块中,并在其他任何地方使用 JSR-330,所以如果需要,我可以在以后轻松切换。
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 和自动装配以获取更多详细信息
java - 使用 JSR330 Provider 时,Threaded Beans 在 Spring 中没有得到 Environment @Autowired
希望问题是不言自明的
ClassA.java
ClassB.java
ClassC.java
类配置.java
主要方法
更新主要方法(仍然有同样的问题)
执行时,这会导致NoSuchBeanDefinitionException
bean '环境'
但是当我们在配置类中定义以下内容时,错误消失得无影无踪。这是解决方法(但 Spring 应该自动注入 Environment 我们不应该这样做)。不知道有多少这样的豆子没有注入/@Autowired
我怀疑这是一个 Spring Framework 错误...不是吗?
堆栈跟踪:
笔记:
- 春天:4.3.9.RELEASE
- JSR330:javax.inject 版本 1