【发布时间】:2014-03-11 13:25:53
【问题描述】:
我有一个关于如何调用Spring框架中注入的bean方法的问题。
注入的类由setter、getter和属性组成。它会是这样的:
class Mark {
private String opacity;
private String alignment;
public setOpacity(String opacity);
public getOpacity();
public setAlignement(String alignement);
public getAlignement();
}
这个类将被注入到另一个类中,我想从 Mark 类中获取不透明度、对齐等数据。但是我不想像这样在调用者类中写类的方法名称:
@Autowired
Mark mark;
void caller() {
String opacity = mark.getOpacity();
String alignment = mark.getAlignment();
}
为此,我考虑过使用 Class.forName()、getDeclaredFields()、getDeclaredMethods() 进行反射,但我很快意识到它适用于普通类而不适用于注入类。
所以我的问题是: 有没有办法调用注入的bean的方法或直接使用反射获取数据?或者任何想法从注入的 bean 中获取数据?
【问题讨论】:
-
为什么要使用反射?打电话给
mark.getOpacity()或mark.getAlignment()还不够吗?顺便说一句,您的 getter 方法定义定义是错误的,考虑到您使用的是注解,您还应该将 Mark 类注解为 @Service、@Component 或类似的。
标签: java spring dependency-injection