【发布时间】:2014-09-30 14:57:01
【问题描述】:
我有一个在运行时创建的业务类实例(使用“new”)。我想将原始属性值注入这个实体。 我不能使用@autowired,因为我不想注入 bean,而是注入原始属性。 我知道,由于 Bean Factory 本身没有初始化该类,因此无论如何我都需要某种技巧来注入值。 所以我开始使用 AspectJ: http://docs.spring.io/spring/docs/3.0.0.RC2/reference/html/ch07s08.html
但显然这似乎不适用于我的问题,因为它是状态: [...] 然后 Spring 将在配置后验证所有属性(不是原语或集合)都已设置。 [...]
我想避免直接从 spring-context 请求我的对象。这似乎违反了 DI 思想。我的意思不是主动调用什么东西,而是被动地注入所有依赖,对吧?
那么我可以做些什么来注入基元呢?
编辑:还是因为除了 service-beans 之外,将依赖项注入业务类并不常见?
【问题讨论】:
-
使用带参数的构造函数。
标签: java spring object dependency-injection primitive