SpringBoot bean 的注册与扩展
注册 bean
@Configuration+@Bean:配置类的 bean@Component、@Service、@Repository、@Controller:具有语义的 bean@Import:三种方式,可以批量导入 bean@ImportResource:导入一个 xml 配置文件中的 beanFactoryBean<T>+@Component:工厂 bean 方式实现 bean 的注入@EnableConfigurationProperties:用于 java 实体类与配置文件绑定,注入这个 java 对象@Conditional:条件装配,派生了一系列相关注解,满足特定条件才注入 bean
具体详细使用及示例 看这里
扩展 bean
BeanFactoryPostProcessor接口的BeanFactoryPostProcessor方法:bean 工厂后置处理器,通过 Beanfactory 扩展BeanDefinition从而扩展 beanxxxAware:感知接口,让 bean 获得容器和环境相关的信息,扩展 beanBeanPostProcessor接口的postProcessBeforeInitialization和postProcessAfterInitialization:bean 初始化之前和之后执行@PostConstruct、@PreDestroy:bean 初始化和销毁方法InitializingBean接口afterPropertiesSet方法、DisposableBean接口destroy方法:bean 属性设置之后和销毁方法@Bean注解的initMethod属性、@Bean的destroyMethod属性:bean 初始化和销毁方法
Spring 启动时,先获取所有的 bean 定义信息放入 容器的 beanFactory 属性中,然后根据 bean 定义信息反射创建 bean,并在不同节点执行对应的方法达到扩展 bean 的目的

浙公网安备 33010602011771号