哈尔滨做网站的oeminc,潢川网站建设,域名都有哪些,延吉最好的网站建设公司spicy命令当我们拥有Spring托管的应用程序时#xff0c;我们想让Spring管理所有的bean。 除了使用已知解决方案#xff08;例如带注释的bean#xff0c;Java配置和XML配置#xff09;创建bean的常规方法之外#xff0c;还有一种方法可以用来创建自己的BeanDefinition 。 … spicy命令 当我们拥有Spring托管的应用程序时我们想让Spring管理所有的bean。 除了使用已知解决方案例如带注释的beanJava配置和XML配置创建bean的常规方法之外还有一种方法可以用来创建自己的BeanDefinition 。 使用BeanDefinitionRegistryPostProcessor可以创建一个特定的后处理器该处理器可以将BeanDefinition添加到BeanDefinitionRegistry 。 它不同于BeanPostProcessor 其中只有挂钩豆初始化建设你的POJO的其中BeanDefinitionRegistryPostProcessor对钩BeanDefinitionRegistry 。 这使我们能够定义自己的BeanDefinition 。 首先我们创建示例中列出的BeanDefinitionRegistryPostProcessor实现。 我们实现了所需的方法并将能够将我们自己的bean定义添加到注册表中。 定义的BeanDefinition将由ApplicationContext拾取并将构造POJO。 我们的结果是一个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.htmlspicy命令