publicclassTestApplicationContextInitializerimplementsApplicationContextInitializer{
@Override
publicvoid initialize(ConfigurableApplicationContext applicationContext){
System.out.println("[ApplicationContextInitializer]");
}
}
publicclassTestBeanDefinitionRegistryPostProcessorimplementsBeanDefinitionRegistryPostProcessor{
@Override
publicvoid postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)throwsBeansException{
System.out.println("[BeanDefinitionRegistryPostProcessor] postProcessBeanDefinitionRegistry");
}
@Override
publicvoid postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)throwsBeansException{
System.out.println("[BeanDefinitionRegistryPostProcessor] postProcessBeanFactory");
}
}
publicclassTestBeanFactoryPostProcessorimplementsBeanFactoryPostProcessor{
@Override
publicvoid postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)throwsBeansException{
System.out.println("[BeanFactoryPostProcessor]");
}
}
publicclassTestInstantiationAwareBeanPostProcessorimplementsInstantiationAwareBeanPostProcessor{
@Override
publicObject postProcessBeforeInitialization(Object bean,String beanName)throwsBeansException{
System.out.println("[TestInstantiationAwareBeanPostProcessor] before initialization "+ beanName);
return bean;
}
@Override
publicObject postProcessAfterInitialization(Object bean,String beanName)throwsBeansException{
System.out.println("[TestInstantiationAwareBeanPostProcessor] after initialization "+ beanName);
return bean;
}
@Override
publicObject postProcessBeforeInstantiation(Class<?> beanClass,String beanName)throwsBeansException{
System.out.println("[TestInstantiationAwareBeanPostProcessor] before instantiation "+ beanName);
returnnull;
}
@Override
publicboolean postProcessAfterInstantiation(Object bean,String beanName)throwsBeansException{
System.out.println("[TestInstantiationAwareBeanPostProcessor] after instantiation "+ beanName);
returntrue;
}
@Override
publicPropertyValues postProcessPropertyValues(PropertyValues pvs,PropertyDescriptor[] pds,Object bean,String beanName)throwsBeansException{
System.out.println("[TestInstantiationAwareBeanPostProcessor] postProcessPropertyValues "+ beanName);
return pvs;
}
publicclassTestSmartInstantiationAwareBeanPostProcessorimplementsSmartInstantiationAwareBeanPostProcessor{
@Override
publicClass<?> predictBeanType(Class<?> beanClass,String beanName)throwsBeansException{
System.out.println("[TestSmartInstantiationAwareBeanPostProcessor] predictBeanType "+ beanName);
return beanClass;
}
@Override
publicConstructor<?>[] determineCandidateConstructors(Class<?> beanClass,String beanName)throwsBeansException{
System.out.println("[TestSmartInstantiationAwareBeanPostProcessor] determineCandidateConstructors "+ beanName);
returnnull;
}
@Override
publicObject getEarlyBeanReference(Object bean,String beanName)throwsBeansException{
System.out.println("[TestSmartInstantiationAwareBeanPostProcessor] getEarlyBeanReference "+ beanName);
return bean;
}
}
publicclassTestBeanFactoryAwareimplementsBeanFactoryAware{
@Override
publicvoid setBeanFactory(BeanFactory beanFactory)throwsBeansException{
System.out.println("[TestBeanFactoryAware] "+ beanFactory.getBean(TestBeanFactoryAware.class).getClass().getSimpleName());
}
}
publicclassNormalBeanAimplementsBeanNameAware{
publicNormalBeanA(){
System.out.println("NormalBean constructor");
}
@Override
publicvoid setBeanName(String name){
System.out.println("[BeanNameAware] "+ name);
}
}
publicclassNormalBeanA{
publicNormalBeanA(){
System.out.println("NormalBean constructor");
}
@PostConstruct
publicvoid init(){
System.out.println("[PostConstruct] NormalBeanA");
}
}
publicclassNormalBeanAimplementsInitializingBean{
@Override
publicvoid afterPropertiesSet()throwsException{
System.out.println("[InitializingBean] NormalBeanA");
}
}
publicclassTestFactoryBeanimplementsFactoryBean<TestFactoryBean.TestFactoryInnerBean>{
@Override
publicTestFactoryBean.TestFactoryInnerBean getObject()throwsException{
System.out.println("[FactoryBean] getObject");
returnnewTestFactoryBean.TestFactoryInnerBean();
}
@Override
publicClass<?> getObjectType(){
returnTestFactoryBean.TestFactoryInnerBean.class;
}
@Override
publicboolean isSingleton(){
returntrue;
}
publicstaticclassTestFactoryInnerBean{
}
}
publicclassTestSmartInitializingSingletonimplementsSmartInitializingSingleton{
@Override
publicvoid afterSingletonsInstantiated(){
System.out.println("[TestSmartInitializingSingleton]");
}
}
publicclassTestCommandLineRunnerimplementsCommandLineRunner{
@Override
publicvoid run(String... args)throwsException{
System.out.println("[TestCommandLineRunner]");
}
}
publicclassNormalBeanAimplementsDisposableBean{
@Override
publicvoid destroy()throwsException{
System.out.println("[DisposableBean] NormalBeanA");
}
}
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595