如何调用注入bean的方法

时间:2014-03-11 13:25:53

标签: java spring dependency-injection

我有一个关于如何调用Spring框架中注入的bean方法的问题。

注入的类由setter,getter和properties组成。它希望如此:

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获取数据?

1 个答案:

答案 0 :(得分:0)

首先,您必须在Mark中指定方法的返回类型:

public void setOpacity(String opacity);
public String getOpacity();
public void setAlignement(String alignement);
public String getAlignement();

然后,您必须使用Mark

@Service课程添加注释