我在 Spring 课程中面临的问题是,为什么在 Spring 应用中要使用铸型?以下是供参考的方案。
public class Test {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
Hello obj= (Hello)context.getBean("hello");
obj.getMessge();
}
}
字符串
3条答案
按热度按时间svmlkihl1#
getBean(String)
方法返回一个类型为Object
的对象。因为您知道用@Bean(name = "hello")
注解的方法返回Hello
的示例,所以可以安全地将getBean的返回值强制转换为Hello
。yeotifhr2#
Object getBean(String name)
返回Object类型的示例;因此,您必须将其转换为您期望它返回任何值。<T> T getBean(String name, Class<T> requiredType)
重载方法也可以使用,它将返回类型为T
的对象。您可以按如下方式更改代码:
字符串
在这种情况下,您不需要显式地转换返回的对象。
euoag5mw3#
getBean()方法返回一个对象类型。由于您知道用@Bean(name =“hello”)注解的方法返回Hello的示例,因此可以安全地将getBean的返回值强制转换为Hello。