Spring相关API

本文最后更新于:2 年前

ApplicationContext的实现类

  • ClassPathXmlApplicationContext

    它是从类的根路径下加载配置文件。(推荐使用这种)

    1
    ApplicationContext app1 = new ClassPathXmlApplicationContext("applicationContext.xml");
  • FileSystemXmlApplicationContext

    它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。

    1
    ApplicationContext app2 = new FileSystemXmlApplicationContext("E:\\SSM\\Spring\\Spring\\src\\main\\resources\\applicationContext.xml");
  • AnnotationConfigApplicationContext

    当使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解。

getBean() 方法使用

1
2
3
4
5
6
7
8
9
public Object getBean(String name) throws BeansException {
assertBeanFactoryActive();
return getBeanFactory().getBean(name);
}

public <T> T getBean(Class<T> requiredType) throws BeansException {
assertBeanFactoryActive();
return getBeanFactory().getBean(requiredType);
}

其中,当参数的数据类型是字符串时,表示根据 Bean 的id从容器中获得Bean实例,返回是Object,需要强转。

1
UserService userService1 = (UserService) app.getBean("userService");

当参数的数据类型是Class类型时,表示根据类型从容器中匹配Bean实例,当容器中相同类型的Bean有多个时,则此方法会报错。

1
UserService userService2 = app.getBean(UserService.class);

重点API

1
2
3
ApplicationContext app = new ClasspathXmlApplicationContext("xml文件")
app.getBean("id")
app.getBean(Class)