问题标签 [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.
hibernate - Spring+Hibernate,Autowire sessionFactory 到 hibernate DAO
我有一个Hibernate DAO,根据Hibernate API 3和Spring 3.x,我只使用 asessionFactory
而不是HibernateDaoSupport
+ getHibernateTemplate()
- 我希望这是一个不错的选择...... -
现在我的目标是sessionFactory
使用注释自动装配到我的 DAO 中。
在我的spring.xml
我有这个:
在数据包里面我有我所有的 DAO 和服务类。
这是我的简单HibernateDao
:
spring.xml
我在加载过程中没有错误,但sessionFactory
仍然是null
.
我必须做什么?
编辑
这是我的sessionFactory
声明spring.xml
:
EDIT2
现在sessionFactory
不为空,但我有另一种例外:
也许意味着它找不到PersonHDAO
bean?
谢谢大家。
java - 我将如何自动装配速度模板?
我有一个需要使用的静态速度模板,所以我想知道是否可以自动装配它而不是这样做:
谢谢
java - Spring JUnit4 手动/自动接线的困境
我遇到了一个问题,只能用我对 Spring 的 IoC 容器设施和上下文设置的基本缺乏理解来解释,所以我会要求对此进行澄清。
仅供参考,我正在维护的应用程序具有以下技术堆栈:
- Java 1.6
- 春天 2.5.6
- RichFaces 3.3.1-GA 用户界面
- Spring 框架用于 bean 管理,Spring JDBC 模块用于 DAO 支持
- Maven 用作构建管理器
- JUnit 4.4 现在作为测试引擎引入
我正在追溯(原文如此!)为应用程序编写 JUnit 测试,令我惊讶的是,我无法通过使用 setter 注入将 bean 注入测试类而不诉诸 @Autowire 表示法。
让我提供设置示例和随附的配置文件。
测试类TypeTest
非常简单:
其上下文定义在TestStackOverflowExample-context.xml
:
TestContext.properties
位于类路径中,仅包含数据源所需的特定于 db 的数据。
这就像一个魅力,但我的问题是 - 为什么当我尝试手动连接 bean 并执行 setter 注入时它不起作用,如下所示:
我在这里想念什么?这里配置的哪一部分是错误的?当我尝试通过设置器手动注入 bean 时,测试失败,因为这部分
在运行时被解析为 null。当然,我查阅了 Spring 参考手册并尝试了各种 XML 配置组合;我所能得出的结论是,Spring 无法注入 bean,因为它以某种方式无法正确取消引用 Spring Test Context 引用,但是通过使用 @Autowired,这会“自动”发生,我真的不明白为什么会这样,因为Autowired
注释及其的JavaDocPostProcessor
类没有提到这一点。
@Autowired
另外值得添加的是仅在应用程序中使用的事实。在其他地方只执行手动接线,所以这也带来了一个问题 - 为什么在我的测试中它在那里工作而不是在这里工作?我缺少 DI 配置的哪一部分?如何@Autowired
获取 Spring Context 的引用?
编辑:我也试过这个,但结果相同:
也许还有其他想法?
EDIT2:我找到了一种方法,而无需编写自己的TestContextListener
或BeanPostProcessor
. 这出人意料地简单,事实证明我在上一次编辑时走在了正确的轨道上:
1)基于构造函数的上下文解析:
2)通过实现ApplicationContextAware接口:
这两种方法都正确地实例化了 bean。
java - Servlet 中的 Spring @Autowired
我在我的应用程序中使用带有加载时间编织的 Spring 框架(2.5.4),并且在任何地方(在 Spring bean 中,在非 Spring 实体中)一切正常,除非我尝试在注释为 @Configurable 的 servlet 中自动装配字段,然后我得到一个很好的 NullPointerException ......
关于我做错了什么有什么建议吗?
谢谢。
spring - Spring:对象未自动装配,在另一个类中工作正常
我正在创建一个实用程序类,但问题是服务类没有被自动装配。autowired 类也在其他地方使用,所以我只是复制了 autowire 代码。并且正在扫描包裹。
有谁知道为什么尽管这个 z 仍然为空?
spring - Spring:将 bean 的属性(参考其他 bean)定义为可选
有两个bean定义:
文件 a.xml
文件 b.xml
在某些情况下,文件 b.xml 不包含 bean
B 的定义。另一方面,文件 a.xml 始终包含指向 B 定义的链接。
如何定义对 B bean 的引用是可选的,以避免org.springframework.beans.factory.NoSuchBeanDefinitionException
spring - 弹簧@Autowired 不工作
我对自动装配注释有一些问题。我的应用程序如下所示:
这是控制器:
这是一个服务层:
和 DAO 层:
这是一个 app-service.xml 文件:
所以......当我启动一个网络应用程序时,MyController Autowires 正确(由 SomeServiceImpl 类对象正确注入的 someService 字段),但 someService 的 myDAO 字段具有空值(未正确注入)。
你能帮我找出问题吗?
PS 这很有趣,但是当我将“bean id”从 myDAO 更改为另一个(例如 myDAO2)时,系统给了我一个错误,无法完成注入,因为 bean myDAO 不存在。那么,Spring 进行了一次注入,但是它在哪里呢?为什么它不能正常工作?
java - spring-nullpointerexception-无法访问无注释类中的自动装配注释服务(或 dao)
我有这个我无法解决的问题。
从我的@Controller
,我可以轻松地访问我的自动连线@Service
课程并毫无问题地使用它。但是当我从一个没有注释的单独类中执行此操作时,它给了我一个NullPointerException
.
我的控制器(工作)-
我单独的 Java 类(不工作)-
或者
userService 或 userDao 始终为空!只是在尝试其中任何一个是否有效。
我的组件扫描设置具有用于扫描的根级别包设置,因此应该没问题。
我的 servlet 上下文 -
有什么线索吗?
spring - 是否可以使用注释连接 Spring MVC 拦截器?
是否可以使用注释连接 Spring MVC 拦截器,如果可以的话,有人可以为我提供一个如何这样做的示例吗?
通过注释通过电汇我指的是在 XML 配置中做的尽可能少。例如,在我在http://www.vaannila.com/spring/spring-interceptors.html找到的这个配置文件中;
你可以在那里逃脱多少配置?我想 an@Autowired
会消除在第 2 行显式声明 bean 的需要,但是是否有可能用注释摆脱第 1 行?
spring - 将 Proguard 与按名称使用 Spring @Autowired 的库一起使用
我正在使用 Proguard 来混淆具有多个 @Autowired 字段的库。混淆器正在重命名这些类字段(因为它们是类的私有/内部),因此我的 bean 无法实例化。
预混淆:
后混淆:
现在可能有很多方法可以使这些特定字段不自动连接,但我希望找到一种方法来告诉 Proguard 不要混淆任何带有重要 Spring-isms 注释的内部字段(@Autowired 等) .
任何人都知道我通常如何做到这一点?
授予