iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring怎么将一个的类配置成Bean
  • 431
分享到

Spring怎么将一个的类配置成Bean

2023-07-05 13:07:27 431人浏览 独家记忆
摘要

这篇“spring怎么将一个的类配置成Bean”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring怎么将一个的类配置成

这篇“spring怎么将一个的类配置成Bean”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring怎么将一个的类配置成Bean”文章吧。

一、说明

第三方的bean不能改写源码,在类上加@Component注解

只能引入该类进行反射创建,再更改其BeanDefinition信息

二、四种方式

@Bean方式,实例化过程可以更改

@Import导入类,实例化过程不能干预

@Import导入ImportBeanDefinitionReGIStrar实现类,可以给BeanDefinition设置属性等信息

beanDefinition注册后置处理器(BeanDefinitionRegistryPostProcessor),不需要@Import引入,但顺序在后面

三、代码示例

3.1 @Bean方式

package com.learning.bean;import com.alibaba.druid.pool.DruidDataSource;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class BeanConfig {@Beanpublic DruidDataSource dataSource(){DruidDataSource dataSource = new DruidDataSource();dataSource.setUsername("root");return dataSource;}}

3.2 @Bean方式

package com.learning.bean;import com.alibaba.druid.pool.DruidDataSource;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Import;@Configuration@Import(DruidDataSource.class)public class BeanConfig2 {}

3.3 @Import导入ImportBeanDefinitionRegistrar实现类

package com.learning.bean;import com.alibaba.druid.pool.DruidDataSource;import org.springframework.beans.factory.support.BeanDefinitionRegistry;import org.springframework.beans.factory.support.RootBeanDefinition;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Import;import org.springframework.core.type.AnnotationMetadata;@Configuration@Import(ImportBeanDefinitionRegistrar.class)public class BeanConfig3 {}class ImportBeanDefinitionRegistrar implements org.springframework.context.annotation.ImportBeanDefinitionRegistrar{    @Override    public void registerBeanDefinitions(AnnotationMetadata importinGClaSSMetadata, BeanDefinitionRegistry registry) {        // BeanDefinition存储Bean的描述信息,决定Bean生产方式        RootBeanDefinition rootBeanDefinition = new RootBeanDefinition(DruidDataSource.class);        rootBeanDefinition.getPropertyValues().add("passWord", "root");        registry.registerBeanDefinition("dataSource", rootBeanDefinition);    }}

3.4 BeanDefinitionRegistryPostProcessor

package com.learning.bean;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;import org.springframework.beans.factory.support.BeanDefinitionRegistry;import org.springframework.beans.factory.support.RootBeanDefinition;import org.springframework.stereotype.Component;@Componentpublic class BeanDefinitionRegistryPostProcessor implements org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor {    @Override    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {        RootBeanDefinition beanDefinition = new RootBeanDefinition();        beanDefinition.getPropertyValues().add("password", "root");        beanDefinitionRegistry.registerBeanDefinition("dataSource", beanDefinition);    }    @Override    public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {    }}

以上就是关于“Spring怎么将一个的类配置成Bean”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Spring怎么将一个的类配置成Bean

本文链接: https://www.lsjlt.com/news/352123.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring怎么将一个的类配置成Bean
    这篇“Spring怎么将一个的类配置成Bean”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring怎么将一个的类配置成...
    99+
    2023-07-05
  • Spring将一个的类配置成Bean的方式详解
    目录一、说明二、四种方式三、代码示例3.1 @Bean方式3.2 @Bean方式3.3 @Import导入ImportBeanDefinitionRegistrar实现类3.4 Be...
    99+
    2023-03-20
    Spring配置类Bean Spring将类配置成Bean
  • 怎么将BSP应用配置成Fiori Launchpad上的一个tile
    本篇内容介绍了“怎么将BSP应用配置成Fiori Launchpad上的一个tile”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 使用事务...
    99+
    2023-06-04
  • Spring Bean的配置与实例化怎么实现
    这篇文章主要介绍“Spring Bean的配置与实例化怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring Bean的配置与实例化怎么实现”文章能帮助大家解决问题。...
    99+
    2023-07-02
  • spring中怎么向一个单例bean中注入非单例bean
    这篇文章主要介绍“spring中怎么向一个单例bean中注入非单例bean”,在日常操作中,相信很多人在spring中怎么向一个单例bean中注入非单例bean问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”s...
    99+
    2023-06-20
  • windows怎么将多个pdf合成一个pdf
    本文小编为大家详细介绍“windows怎么将多个pdf合成一个pdf”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows怎么将多个pdf合成一个pdf”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。将多个...
    99+
    2023-07-02
  • idea怎么生成spring配置文件
    生成Spring配置文件的一种常见方法是使用Spring的JavaConfig。JavaConfig允许您以Java类的形式编写配置...
    99+
    2023-09-23
    idea spring
  • spring怎么配置两个数据源
    在Spring中配置两个数据源需要进行以下步骤:1. 添加两个数据源的配置文件(比如datasource1.properties和d...
    99+
    2023-10-18
    spring
  • vue怎么生成一个配置文件修改接口
    这篇文章主要介绍了vue怎么生成一个配置文件修改接口的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么生成一个配置文件修改接口文章都会有所收获,下面我们一起来看看吧。教程:第一步:安装generate-a...
    99+
    2023-07-04
  • 解决spring boot 配置文件后缀的一个坑
    目录spring boot 配置文件后缀的一个坑spring boot配置文件支持 properties和yml从新创建一个demo试试 spring boot 配置文件后缀导致启动...
    99+
    2024-04-02
  • Python怎么将一个类方法变为多个方法
    本篇内容主要讲解“Python怎么将一个类方法变为多个方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么将一个类方法变为多个方法”吧!1、ddt 如何实现参数化先回顾一下上篇文章...
    99+
    2023-06-16
  • 一文详解spring注解配置bean的初始化方法和销毁方法
    目录1、配置bean的初始化方法1.1、使用@Bean注解的initMethod属性1.2、使用@PostConstruct注解1.3、实现InitializingBean接口1.4...
    99+
    2023-05-18
    spring注解配置bean spring注解配置bean初始化方法 spring注解配置bean销毁方法 spring注解
  • 怎么将sprinboot打包成一个可执行的jar包
    怎么将sprinboot打包成一个可执行的jar包?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在使用spring boot进行打包的时候出现了一些问题,不是说...
    99+
    2023-05-31
    springboot jar 包成
  • C#怎么获取一个类中不同类成员的值
    这篇文章主要讲解了“C#怎么获取一个类中不同类成员的值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么获取一个类中不同类成员的值”吧!成员函数和封装类的成员函数是一个在类定义中有它的定...
    99+
    2023-06-17
  • 怎么将多个select的结果合并成一张表
    可以使用 UNION 操作符将多个 SELECT 语句的结果合并为一张表。 例如,如果你有两个 SELECT 语句,分别查询两张表中的数据: SELECT * FROM table1;SELECT * FRO...
    99+
    2023-10-27
    sql 数据库 mybatis mysql
  • Spring中的CharacterEncodingFilter怎么配置
    本篇内容介绍了“Spring中的CharacterEncodingFilter怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!spri...
    99+
    2023-06-04
  • SpringCloud的spring-security怎么配置
    这篇文章主要讲解了“SpringCloud的spring-security怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringCloud的spring-security怎么配置...
    99+
    2023-06-05
  • Spring IOC容器基于XML外部属性文件的Bean管理怎么配置
    本篇内容主要讲解“Spring IOC容器基于XML外部属性文件的Bean管理怎么配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring IOC容器基于XML外部属性...
    99+
    2023-06-30
  • Python中怎么将一个类方法变为多个方法
    本篇文章给大家分享的是有关Python中怎么将一个类方法变为多个方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、ddt 如何实现参数化?先回顾一下上篇文章中 ddt 库的...
    99+
    2023-06-16
  • 怎么在JavaScript中将多个对象合并成一个数组
    怎么在JavaScript中将多个对象合并成一个数组?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JavaScript有什么特点1、js属于一种解释性脚本语言;2、在绝大多...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作