Let's say I have some class X that is going to be injected all over the place (say 100+ other beans). There is only one instance of X, so it seems to make sense to autowire by type. I was hoping that I could do something like:
<bean id="xInstance" class="X" autowire="byType" />
And then have it magically autowired all over the place. Unfortunately, it seems like autowiring works in the opposite way, where I declare X without autowiring and then declare every OTHER bean to be autowired by type.
I don't really see what good this has done me, since now I have to modify any bean that might inject type X (i.e. hunting down N possible places where X is to be injected is exactly what I want to avoid). What I want is to mark the开发者_StackOverflow source bean as autowired (meaning it will be autowired into other beans) and have all target beans get magically wired. Is it possible?
Auto wiring is per bean. Spring will resolve other beans for the current bean in question by inspecting BeanFactory
.
Implicit auto-wiring as you expect is an enhancement request
No, it isn't. You have to specify the details about injection in the injection target.
精彩评论