javascript
spicy命令_Spicy Spring:动态创建自己的BeanDefinition
spicy命令
當(dāng)我們擁有Spring托管的應(yīng)用程序時,我們想讓Spring管理所有的bean。 除了使用已知解決方案(例如帶注釋的bean,Java配置和XML配置)創(chuàng)建bean的常規(guī)方法之外,還有一種方法可以用來創(chuàng)建自己的BeanDefinition 。
使用BeanDefinitionRegistryPostProcessor可以創(chuàng)建一個特定的后處理器,該處理器可以將BeanDefinition添加到BeanDefinitionRegistry 。
它不同于BeanPostProcessor ,其中只有掛鉤豆初始化(建設(shè)你的POJO的),其中BeanDefinitionRegistryPostProcessor對鉤BeanDefinitionRegistry 。 這使我們能夠定義自己的BeanDefinition 。
首先,我們創(chuàng)建示例中列出的BeanDefinitionRegistryPostProcessor實現(xiàn)。 我們實現(xiàn)了所需的方法,并將能夠?qū)⑽覀冏约旱腷ean定義添加到注冊表中。 定義的BeanDefinition將由ApplicationContext拾取,并將構(gòu)造POJO。 我們的結(jié)果是一個Spring托管的bean
package com.jdriven;import org.springframework.beans.BeansException; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.stereotype.Component;@Component public class LogicServiceRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor {@Overridepublic void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)throws BeansException {RootBeanDefinition beanDefinition = new RootBeanDefinition(MyServiceImpl.class); //The service implementationserviceDefinition.setTargetType(MyService.class); //The service interfaceserviceDefinition.setRole(BeanDefinition.ROLE_APPLICATION);registry.registerBeanDefinition("myBeanName", beanDefinition );} }翻譯自: https://www.javacodegeeks.com/2015/04/spicy-spring-dynamically-create-your-own-beandefinition.html
spicy命令
總結(jié)
以上是生活随笔為你收集整理的spicy命令_Spicy Spring:动态创建自己的BeanDefinition的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdbc select语句_SELECT
- 下一篇: ddos能攻击家用电脑么(ddos攻击家