日期:2014-05-19  浏览次数:20708 次

Java DI 的疑惑
有一点搞不大明白,
Spring如果需要对一个私有变量注入,这个私有变量需要有set方法(setter注入),
但是貌似seam的@in没有这个要求,这是咋回事儿捏?

------解决方案--------------------
可以通过setter 或者 属性注入
------解决方案--------------------
seam使用的是注解注入
------解决方案--------------------
java.lang.reflect.Field.set(Object obj, Object value)
将指定对象变量上此 Field 对象表示的字段设置为指定的新值。

java.lang.reflect.Method.invoke(Object obj, Object... args)
对带有指定参数的指定对象调用由此 Method 对象表示的基础方法。

都是反射搞的事。

------解决方案--------------------
直接用field的set方法
------解决方案--------------------
配置依赖关系后,通过set注入