我现在刚到Spring。我试图遵循调用PostConstruct和BeanPostProcessor的顺序。
根据我所学,以下是顺序:-
SpringConfig文件foo.xml删除了beans标记上下文:component-scan base-package=“SpringTest”
@Component
public class MySpring implements ApplicationContextAware,BeanPostProcessor{
public static int temp =0;
public MySpring(){
System.out.println("Initializing MySpring Constructor");
}
@PostConstruct
public void temp(){
System.out.println("PostConsturct" + this.getClass());
temp++;
}
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Before BPP " + bean.getClass());
return this;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("After BPP " + bean.getClass());
return this;
}
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
System.out.println("Initializing ApplicationContext");
}}
回应
MySpring.temp值为3表示调用了3次。
有人能帮我在上面...
它被调用三次,因为您要用MySpring
bean替换每个bean。
你的方法
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Before BPP " + bean.getClass());
return this;
}
返回这个
,实际上说明您当前后处理的bean对象应该被MySpring
对象替换。您可以通过尝试从applicationcontext
获取任何其他bean来验证这一点。
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(ConfigurationBean.class);
ctx.getBean(ConfigurationBean.class);
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Before BPP " + bean.getClass());
return bean;
}
当ApplicationContext
初始化MySpring
实例时,CommonAnnotationBeanPostProcessor
已经初始化,因此将处理bean。在MySpring
完全初始化后,Spring检测到它是BeanPostProcessor
并注册它。它在CommonAnnotationBeanPostProcessor
之前注册它(BeanPostProcessor
实例有优先级设置)。
我的代码和配置文件如下 BeanPostProcesssor实现 客户Bean 主类 输出 ---在初始化之前-----在初始化之后----在初始化之前----在初始化之前----在初始化之前----在初始化之前----...bean通过init方法----在初始化之后----...setname.......GetName.....名称为..测试用户
问题内容: 如果没有线程正在等待,使用,任何来电或没有任何效果。我有一种情况,如果在等待集为空时调用,则后续调用不应将线程置于等待状态。如何做到这一点?信号量可能是我能想到的一种解决方案。有没有更优雅的解决方案? 问题答案: 这种情况似乎非常适合。呼叫而不是和而不是等待。
问题内容: 问题 我正在使用内联函数定义设置反应 然后在DOM引用中未设置 我的理解是,回调应该在安装期间运行,但是在ref回调函数 之前* 调用添加语句揭示。 * 例如,我看过的其他代码示例在github上的讨论都表明相同的假设,应该在中定义的任何回调 之后调用,甚至在对话中也要说明 那么在所有的ref回调都执行完之后,componentDidMount是否被触发? 是。 我正在使用反应 15.
我已经开始为一个简单的应用程序开发后端,并且我已经建立了一个数据库类(名为),所有文件都将与之通信。在我的中,我有以下内容: 它是一个,所以我可以从其他文件中访问。 在我的其他文件中,我有以下帮助可读性:(因为它是一个类,它将通过引用传递) 在我的课程中: 当我构建代码时,它构建得很好。 运行时,应用程序立即崩溃与。错误消息是: 我已尝试在类中的init函数上放置断点。它没有到达断点。 我已尝试将
问题内容: 我有一个jQuery对话框打开,然后进行AJAX调用。我想这样做,以便如果关闭对话框或按下“取消”按钮,则取消AJAX调用,并且不调用其回调函数。我可以想到一些使用变量的方式,例如: 但是,从某种程度上来说,这对我来说很肮脏,并且实际上并没有阻止AJAX调用完成。是否有内置的方式来取消正在进行的AJAX呼叫? 问题答案: 好的,因此基于使用$ .get函数返回的XmlHttpReque