问题标签 [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 投票
2 回答
2298 浏览

java - 具有编程 bean 创建的通用 Java 服务不注入 EntityManager

我有一个(希望是)标准设置,其中包含一堆,@Controller和带注释的类,例如:@Service@Entity@Repository

哪里ChannelDao是:

ChannelImpl是:

Channel是:

PersistentDao是:

最后PersistentImpl是:

所有这些都按预期工作。我正在使用<context:annotation-config/>and<context:component-scan/>以及<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" ...>with a persistence.xml。基本上一切正常。

但现在我想概括 ChannelManager,因为我有许多其他实体并且希望避免重复。例如,我还需要一个带有List<Job> allJobs() { return jobDao.findall(); }方法的 JobManager。

所以我创建了这个:

我更新了 context.xml

最后在控制器中添加了一个声明:

想象一下 Jobxxx 类类似于 Channelxxx 类。

但是,在执行特化中的findAll()方法时JobImpl, entityManager 为null,因此设置不正确。

所以我的问题真的是“这可以做到吗”?尽管如果有其他更好的方法可以做到这一点,请赐教!

编辑:可能需要注意的是,我使用的是 Spring 3.0.5、Java 1.6.0_21-b07 和 Hibernate 3.6.2.Final

0 投票
2 回答
1046 浏览

spring - tx:annotation-driven break @Autowired in scala

我正在使用spring + scala 2.8。我有一个@Transactional bean(用@Service 标记),它在spring 中通过< tx:annotation-driven /> 启用,当我启动tomcat 时,使用该服务bean 获得@Autowired 的控制器找不到自动装配候选人。当 @Service 对象明显被实例化时(我可以通过 log4j 调试消息看到这一点),我试图弄清楚为什么它找不到候选对象。我最终决定通过注释掉 < tx:annotation-driven /> 来简化,瞧!webapp 启动良好。

有人可以提供为什么这不起作用的技术原因吗?我将尝试@Qualifier 看看是否“解决”了问题。

0 投票
4 回答
41183 浏览

spring - 如何按名称覆盖 Spring 服务 bean,仅使用注释

鉴于我有一个 Spring bean 配置为

和一个使用这个 bean 的类

我现在希望我的项目(包括前面的类)有Consumer另一个MyService被注入的实现。因此我想覆盖beanmyService

导致Consumer现在携带一个实例SpecializedService而不是DefaultService。根据定义,我不能在 Spring 容器中拥有两个同名的 bean。我怎么能告诉春天,新服务的定义将覆盖旧服务?我不想修改Consumer课程。

0 投票
2 回答
940 浏览

spring - spring自动装配失败但appcontext解析bean

我对春天有以下问题。我有一个 webapp 和一个域项目。域项目包含一个 studentService,它应该通过 webapp 的类中的自动装配注入。我已将 和 添加到 appcontext.xml。

这是来自 webapp 的类:

然后是学生服务:

因此,一旦我启动我的应用程序,我就会看到 studentService 为空,但是当我获取 appcontext 并调用 getBean("studentService") 方法时,就会返回一个 studentservice 实例。我使用弹簧 3.0.5。有人知道自动装配失败的原因吗?

干杯,

迈克尔

0 投票
3 回答
7931 浏览

java - 休眠实体自动装配

你能告诉我,我怎样才能很好地为 Hibernate 实体启用 Spring 自动装配?

假设我有一个实体并希望在那里有邮件发件人:

有没有比做更好的方法

在我的 DAO 中?

谢谢!

0 投票
1 回答
932 浏览

java - Spring项目中休眠自动装配的小麻烦,找不到bean错误

我想试试<context:component-scan base-package />spring 3.0.5 的特性。

我在 applicationContext 中有这个条目:

我有一个知道如何创建任何 POJO 和 DAO 的管理器类。

一个 Pojo 像:

我的测试课是这样的

我有这个错误:

org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型为 [com.project.personal.admin.manager.Manager] 的匹配 bean:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

大多数时候,我在每个类的应用程序上下文中创建条目,并且它一直在工作,这一次我想尝试包扫描。那是我做得不好的事情吗?我试过 Autowired 和后来的资源。所以我没有想法

感谢您阅读本文。

0 投票
0 回答
1687 浏览

java - 无法通过 Ant 在 JUnit 测试中自动装配 - 看起来 @RunWith(SpringJUnit4ClassRunner.class) 不起作用

我的测试用例如下所示:

出于某种原因,当我通过 Eclipse(使用 Junit4 测试运行程序)或使用 ant(在 Eclipse 中或仅在终端中)在我的计算机上本地运行它时,一切正常并且 sessionFactory 被正确注入。

当此代码在服务器 (Hudson) 上时,无论是通过 Hudson 运行它还是在控制台中通过执行 ant 测试(测试是构建和运行 junit 测试的目标),都不会注入 sessionFactory,看起来像 Autowiring不工作。我查看了来自 nullpointerexception 的堆栈跟踪,并注意到它没有使用 SpringJUnit4ClassRunner,即使我在 @RunWith 注释中有它(在我的本地计算机上它确实使用它)。任何想法为什么?我猜它不是自动装配,因为它没有使用 SpringJUnit4ClassRunner。

谢谢

0 投票
3 回答
2572 浏览

spring - Spring注入和对象实例化

我试图更好地理解 bean 的 Spring 实例化。为了说明我的疑问,假设我们有一个连接在控制器中的服务类,这里有一些问题:

  1. Spring 将如何管理 Controller 的生命周期?每个请求都会创建一个新对象吗?
  2. 一旦 Service 被实例化并连接到 Controller,Spring 会重新使用该对象引用将其连接到其他 bean 吗?
0 投票
6 回答
26821 浏览

spring - @Autowire 默认模式

Spring bean 如何@Autowire:byName 或 byType?如果不可能,是否使用另一种模式进行第二次试验?

0 投票
4 回答
4409 浏览

spring - Spring 自动装配 setter/constructor 优点和缺点

使用 @Autowired(不是 xml 配置)时,有人可以比较 set/constructor 绑定的优缺点吗?

请参阅以下示例: