问题标签 [autowired]

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 投票
3 回答
20181 浏览

spring - Spring @Autowireing 与通用工厂构建的 bean

我有一组具有复杂初始化方案的类。基本上,我从需要获取的接口开始,然后进行一堆调用,最后得到一个实现该接口的对象。

为了解决这个问题,我创建了一个工厂类,它可以在给定接口的情况下生成最终对象。我把这个工厂变成了一个 bean,在 XML 中我指定了我的各种服务 bean,通过这个工厂对象实例化,并带有它们将实现的接口的参数。

这很好用,我完全得到了我需要的豆子。不幸的是,我想从我的控制器类中访问它们,这些是通过组件扫描发现的。我在这里使用@Autowired,似乎Spring 不知道这些是什么类型的对象,并且由于@Autowired 按类型工作,所以我是SOL。

在这里使用 @Resource(name="beanName") 可以完美地工作,但是对某些 bean 使用 @Resource 而对其他bean使用 @Autowired 似乎很奇怪。

有没有办法让 Spring 知道工厂将为这些 bean 中的每一个创建什么接口,而无需为每种类型使用不同的工厂方法?

顺便说一句,我使用的是 Spring 2.5.6,否则我只会使用 JavaConfig 整个事情并忘记它。

工厂类:

应用上下文:

我的控制器:

0 投票
1 回答
241 浏览

tomcat - 将服务传递给 grails 中的非服务?

我有一个非服务类,其定义如下:

其中 B 是 grails 服务。在我的单元测试中,我尝试了这个:

A a = new A( new B() );

但是,由于某种原因,b它永远不会被设置,并且在运行测试时,该变量b [local, the argument to the mehod]甚至在 Intelli-J 的调试器中都不可见。也就是说,我可以将参数重命名为service,调试器将其显示为未定义。

当我尝试启动服务器时,我得到了Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException,所以我假设这是相关的。

这里发生了什么?

0 投票
1 回答
464 浏览

grails - 集成测试失败 - Grails 的自动装配问题

无论出于何种原因,当我尝试运行任何集成测试时,都会得到以下信息:

为什么 CGLib 包装我注入的类并导致测试失败?我正在运行 grails 1.3.6 并通过 Intelli-J Ultimate 10.01 运行测试。

0 投票
2 回答
1375 浏览

java - 自动装配源中的构造函数参数

究竟是什么原因造成的?

我需要的是自动装配 3 件事:验证器、ldap 连接和数据库连接。

我称之为:

如果我更改这些参数的顺序,该错误似乎是由另一个 bean 引起的。我没有登录,所以我没有 UserDetails 左右。

0 投票
3 回答
651 浏览

java - 在验证器中自动装配

我使用我自己的验证器类并在我的控制器中用 @Autowired -annotation 标记它。我还必须使用数据库和 ldap 连接,所以我也在同一个控制器构造函数中自动连接它们。

我的验证器也必须使用数据库和 ldap 连接,所以我必须在其构造函数中自动连接数据库和 ldap。确实是双重自动装配!但现在我的问题是如何让数据库和 ldap 在验证器中工作?没有接线,它们返回空值。有什么帮助吗?

这是我之前关于自动装配的问题的延续。

0 投票
5 回答
76243 浏览

java - 如何让 FactoryBean spring 创建的 bean 得到管理?

FactoryBean可用于以编程方式创建可能需要复杂实例化逻辑的对象

但是,似乎由 bean创建的beanFactoryBean并没有成为 spring 管理的。这种解释正确吗?如果是这样,有什么好的解决方法吗?包含一个简短的代码示例来说明我的问题。

应用上下文:

工厂实施:

工厂创建的类:

0 投票
4 回答
19919 浏览

java - Java中@Autowired注解的好处

也许是因为我的英文错误,我无法理解使用@Autowired 注解的好处。

根据教程,我们可以通过@Autowired 将第一种情况(I.)简化为第二种情况(II.)。

我的问题是,@Autowired 的含义是什么?因为它不再说明,因为不使用@Autowired,编译器可以根据声明找出“EmpDao emDao”和“EmpManager”密切相关。

从这里引用的代码

我。

二、

0 投票
4 回答
26819 浏览

spring - 单例和 @Autowired 返回 NULL

我有一个存储库管理器来管理我的存储库。我有 @Autowired 来实例化我的属性,但它们始终为空。bean 在我的 xml 中正确配置。有什么理由吗?

道.xml

用户存储库.java

0 投票
3 回答
15525 浏览

web-services - 如何使@WebService 具有弹簧意识

我有一个 Web 服务,我正在尝试将变量自动装配到其中。这是课程:

但是,当我尝试访问 Web 服务时,我得到了返回的 Fail 版本,这意味着 upgradeController 没有被自动装配。这是我的应用程序上下文:

如何使@WebService 类具有弹簧意识并发生自动装配

0 投票
2 回答
404 浏览

java - 弹簧自动装配

假设我有一些 X 类将被注入到所有地方(比如 100 多个其他 bean)。X 只有一个实例,因此按类型自动装配似乎很有意义。我希望我可以做类似的事情:

然后让它神奇地自动连接到整个地方。不幸的是,自动装配似乎以相反的方式工作,我在没有自动装配的情况下声明 X,然后声明每个 OTHER bean 都按类型自动装配。

我真的看不出这对我有什么好处,因为现在我必须修改任何可能注入 X 类型的 bean(即寻找 N 个可能注入 X 的地方正是我想要避免的)。我想要的是将源 bean 标记为自动装配(意味着它将自动装配到其他 bean)并让所有目标 bean 神奇地装配。是否可以?