BeanFactory
7742 단어 spring
/**
* BeanFactory Spring Bean , bean 。 ListableBeanFactory ConfigurableBeanFactory 。
* bean , bean String 。
* bean , (Prototype ), (Singleton , )。
* bean :API 。 Spring 2.0 , ( Web “request” “session” ), 。
* BeanFactory , ( , )。
* , (“ ” ), setter , BeanFactory “ ” 。 Spring BeanFactory 。
* ,BeanFactory ( XML ) bean , code org.springframework.beans bean。 , Java Java 。 :LDAP,RDBMS,XML, 。 bean ( )。
* ListableBeanFactory , HierarchicalBeanFactory, 。 bean, 。 Bean Bean。
*
* Bean bean 。 :
* BeanNameAware.setBeanName()
* BeanClassLoaderAware.setBeanClassLoader()
* BeanFactoryAware.setBeanFactory()
* EnvironmentAware.setEnvironment()
* EmbeddedValueResolverAware.setEmbeddedValueResolver()
* ResourceLoaderAware.setResourceLoader()
* ApplicationEventPublisherAware.setApplicationEventPublisher()
* MessageSourceAware.setMessageSource()
* ApplicationContextAware.setApplicationContext()
* ServletContextAware.setServletContext()
* BeanPostProcessors.postProcessBeforeInitialization() InitializingBean.afterPropertiesSet()
* BeanPostProcessors.postProcessAfterInitialization()
*
* bean , :
* DestructionAwareBeanPostProcessors.postProcessBeforeDestruction()
* DisposableBea.destroy
*/
public interface BeanFactory {
/**
* FactoryBean , FactoryBean bean 。 , myJndiObject bean FactoryBean, &myJndiObject , 。
*/
String FACTORY_BEAN_PREFIX = "&";
/**
* bean , 。 Spring BeanFactory Singleton Prototype 。
* Singleton bean , 。 bean 。 bean。
* @param bean
* @return bean
* @throws bean, NoSuchBeanDefinitionException
* @throws bean, BeansException
*/
Object getBean(String name) throws BeansException;
/**
* bean , 。
* getBean(String) , bean , BeanNotOfRequiredTypeException 。 ClassCastException, #getBean(String) 。 bean 。 bean。
* @param bean
* @param bean ,
* @return bean
* @throws bean, NoSuchBeanDefinitionException
* @throws bean , BeanNotOfRequiredTypeException
* @throws bean , BeansException
*/
T getBean(String name, Class requiredType) throws BeansException;
/**
* bean , 。
* / , bean ( )。
* @param bean
* @param args bean ( , )
* @return bean
* @throws bean, NoSuchBeanDefinitionException
* @throws bean Prototype, BeanDefinitionStoreException
* @throws bean , BeansException
*/
Object getBean(String name, Object... args) throws BeansException;
/**
* bean ( )。 ListableBeanFactory , 。 bean , ListableBeanFactory / BeanFactoryUtils。
* @param bean ,
* @return bean
* @throws bean, NoSuchBeanDefinitionException
* @throws bean, NoUniqueBeanDefinitionException
* @throws bean, BeansException
*/
T getBean(Class requiredType) throws BeansException;
/**
* bean , 。
* / , bean ( )。 ListableBeanFactory , 。 bean , ListableBeanFactory / BeanFactoryUtils。
* @param requiredType bean ,
* @param args bean ( , )
* @return bean
* @throws bean, NoSuchBeanDefinitionException
* @throws bean Prototype, BeanDefinitionStoreException
* @throws bean, BeansException
* @since 4.1
*/
T getBean(Class requiredType, Object... args) throws BeansException;
/**
* bean , , 。
* @param requiredType bean ,
* @return
*/
ObjectProvider getBeanProvider(Class requiredType);
/**
* bean , , 。
* @param requiredType bean 。 。 , , 。 bean , bean , ObjectProvider.orderedStream() / 。
* @return
*/
ObjectProvider getBeanProvider(ResolvableType requiredType);
/**
* bean bean singleton ?
* , bean 。 , bean。 bean , true。
* bean ,lazy eager , 。 , true getBean 。
* @param name bean
* @return bean
*/
boolean containsBean(String name);
/**
* Bean ? , getBean() ?
* : false 。 , bean。 isPrototype 。 bean 。 bean。
* @param name bean
* @return bean
* @throws Bean, NoSuchBeanDefinitionException
*/
boolean isSingleton(String name) throws NoSuchBeanDefinitionException;
/**
* bean Prototype? ,getBean ?
* : false 。 , bean。 isSingleton 。 bean 。 bean。
* @param name bean
* @return bean
* @throws Bean, NoSuchBeanDefinitionException
*/
boolean isPrototype(String name) throws NoSuchBeanDefinitionException;
/**
* bean 。 , getBean 。 bean . bean。
* @param name bean
* @param typeToMatch
* @return Bean , true; bean , false。
* @throws Bean, NoSuchBeanDefinitionException
*/
boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException;
/**
* bean 。 , getBean 。 bean . bean。
* @param name bean
* @param typeToMatch
* @return Bean , true; bean , false。
* @throws Bean, NoSuchBeanDefinitionException
*/
boolean isTypeMatch(String name, Class> typeToMatch) throws NoSuchBeanDefinitionException;
/**
* bean 。 , getBean bean 。 FactoryBean, FactoryBean , FactoryBean.getObjectType() 。 bean 。 bean。
* @param name bean
* @return bean , null。
* @throws Bean, NoSuchBeanDefinitionException
*/
@Nullable
Class> getType(String name) throws NoSuchBeanDefinitionException;
/**
* bean ( )。 getBean bean。
* , bean ( ) , bean 。 bean。
* @param name bean
* @return , ,
*/
String[] getAliases(String name);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.