问题标签 [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.
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
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 看看是否“解决”了问题。
spring - 如何按名称覆盖 Spring 服务 bean,仅使用注释
鉴于我有一个 Spring bean 配置为
和一个使用这个 bean 的类
我现在希望我的项目(包括前面的类)有Consumer
另一个MyService
被注入的实现。因此我想覆盖beanmyService
导致Consumer
现在携带一个实例SpecializedService
而不是DefaultService
。根据定义,我不能在 Spring 容器中拥有两个同名的 bean。我怎么能告诉春天,新服务的定义将覆盖旧服务?我不想修改Consumer
课程。
spring - spring自动装配失败但appcontext解析bean
我对春天有以下问题。我有一个 webapp 和一个域项目。域项目包含一个 studentService,它应该通过 webapp 的类中的自动装配注入。我已将 和 添加到 appcontext.xml。
这是来自 webapp 的类:
然后是学生服务:
因此,一旦我启动我的应用程序,我就会看到 studentService 为空,但是当我获取 appcontext 并调用 getBean("studentService") 方法时,就会返回一个 studentservice 实例。我使用弹簧 3.0.5。有人知道自动装配失败的原因吗?
干杯,
迈克尔
java - 休眠实体自动装配
你能告诉我,我怎样才能很好地为 Hibernate 实体启用 Spring 自动装配?
假设我有一个实体并希望在那里有邮件发件人:
有没有比做更好的方法
在我的 DAO 中?
谢谢!
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 和后来的资源。所以我没有想法
感谢您阅读本文。
java - 无法通过 Ant 在 JUnit 测试中自动装配 - 看起来 @RunWith(SpringJUnit4ClassRunner.class) 不起作用
我的测试用例如下所示:
出于某种原因,当我通过 Eclipse(使用 Junit4 测试运行程序)或使用 ant(在 Eclipse 中或仅在终端中)在我的计算机上本地运行它时,一切正常并且 sessionFactory 被正确注入。
当此代码在服务器 (Hudson) 上时,无论是通过 Hudson 运行它还是在控制台中通过执行 ant 测试(测试是构建和运行 junit 测试的目标),都不会注入 sessionFactory,看起来像 Autowiring不工作。我查看了来自 nullpointerexception 的堆栈跟踪,并注意到它没有使用 SpringJUnit4ClassRunner,即使我在 @RunWith 注释中有它(在我的本地计算机上它确实使用它)。任何想法为什么?我猜它不是自动装配,因为它没有使用 SpringJUnit4ClassRunner。
谢谢
spring - Spring注入和对象实例化
我试图更好地理解 bean 的 Spring 实例化。为了说明我的疑问,假设我们有一个连接在控制器中的服务类,这里有一些问题:
- Spring 将如何管理 Controller 的生命周期?每个请求都会创建一个新对象吗?
- 一旦 Service 被实例化并连接到 Controller,Spring 会重新使用该对象引用将其连接到其他 bean 吗?
spring - @Autowire 默认模式
Spring bean 如何@Autowire
:byName 或 byType?如果不可能,是否使用另一种模式进行第二次试验?
spring - Spring 自动装配 setter/constructor 优点和缺点
使用 @Autowired(不是 xml 配置)时,有人可以比较 set/constructor 绑定的优缺点吗?
请参阅以下示例: