目录
根据name获取bean:Object getBean(String name)
根据类型获取bean: T getBean(Class requiredType)
T aetBean(String name,Class requiredType)
singleton容器内同 名称的 bean 只有一个实例 (单例) (默认)
prototype每次使用该 bean 时会创建新的实例 (非单例)
默认情况下,Sprin项目启动时,会把bean都创建好放在10C容器中,如果想要主动获取这些bean,可以通过如下方式:
(bean的名字在默认情况下是类名是字母小写)
SomeBean someBean = (SomeBean) applicationContext.getBean("someBean");
这里需要强转是因为用get方法获取到的bean是object类型的。
SomeBean someBean = applicationContext.getBean(SomeBean.class);
SomeBean someBean = applicationContext.getBean("someBean", SomeBean.class);
request
每个请求范围内会创建新的实例 (web环境中,了解)
session
每个会话范围内会创建新的实例 (web环境中,了解)
application
每个应用范围内会创建新的实例 (web环境中,了解)
scope:用于设置Bean的作用域!!!
可以将第三方引入类交给IOP容器管理
@Configuration
public class AppConfig {
@Bean
public SomeBean someBean() {
return new SomeBean();
}
@Bean
public AnotherBean anotherBean() {
return new AnotherBean();
}
}