ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext ("applicationContext.xml");
//retrieve bean from the spring container
Coach theCoach = context.getBean("myCoach",Coach.class);
//call methods on the bean
System.out.println(theCoach.getDailyWorkout());
System.out.println(theCoach.getDailyFortune());
System.out.println(theCoach.getEmailAddress());
System.out.println(theCoach.getTeam());
//close the context
context.close();
在上面的代码中,Coach.class返回什么
教练是一个界面。
答案 0 :(得分:0)
Coach.class
返回一个Class对象的实例,该对象描述了Coach接口的结构。
假设我们有这个示例:
public interface Coach {
int getName();
}
如果要执行以下行:
Class<Coach> coachClass = Coach.class;
System.out.println(coachClass.getName());
for(Method m:coachClass.getMethods()) {
System.out.println(m.getName());
}
您将获得接口的全名和声明的方法的名称。
简而言之,Coach.class
返回接口的元数据。如果您想了解有关此主题的更多信息,建议您阅读有关Java Reflection
在您的情况下,此行代码:
Coach theCoach = context.getBean("myCoach",Coach.class);
返回实现Coach接口的对象的实例。您必须传递Coach
接口的元数据,以便Spring知道您要查找的数据类型。