/*Spring对象工厂的最顶层接口,最基础的对象容器视图*/ public interface BeanFactory { /*区分FactoryBean实例和由FactoryBean创建的实例*/ String FACTORY_BEAN_PREFIX = "&"; /*通过名称获取一个对象实例*/ Object getBean(String name) throws BeansException; /*通过名称和类型获取一个对象实例,requiredType是一个接口,或者实例类的父类*/ <T> T getBean(String name, @Nullable Class<T> requiredType) throws BeansException; /*获取一个对象实例,args是创建实例具体参数*/ Object getBean(String name, Object... args) throws BeansException; /*根据类型获取一个对象实例,requiredType是一个接口,或者实例类的父类*/ <T> T getBean(Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType, Object... args) throws BeansException; /*判断对象工厂中是否有指定名称name的对象*/ boolean containsBean(String name); /*判断对象工厂中名称name的对象是否是单例的*/ boolean isSingleton(String name) throws NoSuchBeanDefinitionException; /*判断对象工厂中名称name的对象是否是prototype类型的*/ boolean isPrototype(String name) throws NoSuchBeanDefinitionException; /*判断对象工厂中名称name的实例是否typeToMatch类型匹配*/ boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException; boolean isTypeMatch(String name, @Nullable Class<?> typeToMatch) throws NoSuchBeanDefinitionException; /*判断对象工厂中名称name实例的类型*/ @Nullable Class<?> getType(String name) throws NoSuchBeanDefinitionException; /*判断对象工厂中名称name的别称*/ String[] getAliases(String name); }
Spring的IOC之BeanFactory
最新推荐文章于 2020-04-30 09:21:12 发布