在XML文件中
在 `DisplayNameBeanPostProcessor.java` 类中。
现在当我运行这段代码时,它会进入postProcessBeforeInitialization()方法,并带有bean和beanName参数,并打印消息“myTriangle”。在我的情况下,该bean具有名称字段并具有“myTriangle”值的信息。但是,在方法签名中声明它是在初始化之前,那么如果尚未初始化,传递给它的bean是什么?
“”与其对应的是“
为什么这一行?
如果在初始化之前调用了该方法,
<bean id="triangle" class="com.company.aop.model.Triangle">
<property name="name" value="myTriangle"></property>
</bean>
<bean class="com.company.aop.DisplayNameBeanPostProcessor"></bean>
在 `DisplayNameBeanPostProcessor.java` 类中。
public class DisplayNameBeanPostProcessor implements BeanPostProcessor{
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
// TODO Auto-generated method stub
if(bean instanceof Triangle) {
// System.out.println("Tr "+(((Triangle) bean).getName().toString()));
System.out.println("I am after intialisation");
}
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName)
throws BeansException {
// TODO Auto-generated method stub
if(bean instanceof Triangle) {
System.out.println("Tr "+(((Triangle) bean).getName().toString()));
}
return bean;
}
}
现在当我运行这段代码时,它会进入postProcessBeforeInitialization()方法,并带有bean和beanName参数,并打印消息“myTriangle”。在我的情况下,该bean具有名称字段并具有“myTriangle”值的信息。但是,在方法签名中声明它是在初始化之前,那么如果尚未初始化,传递给它的bean是什么?
“”与其对应的是“
”,都是HTML标记中的段落标记,用于将文本分成段落。
public Object postProcessAfterInitialization(Object bean, String beanName)
并且
public Object postProcessBeforeInitialization(Object bean, String beanName)
为什么这一行?
System.out.println("Tr "+(((Triangle) bean).getName().toString()));
如果在初始化之前调用了该方法,
postProcessBeforeInitialization
方法将打印名称。
public class DisplayNameBeanPostProcessor implements BeanFactoryPostProcessor{
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
throws BeansException {
}}
- Mani