首页 > 其他分享 >FactoryBean接口的使用

FactoryBean接口的使用

时间:2024-03-05 22:59:25浏览次数:29  
标签:userName return String 接口 id FactoryBean User 使用 public

一般情况下,Spring通过反射机制利用bean的class属性指定实现类来实例化bean。在某些情况下,实例化bean过程比较复杂,如果按照传统的方式,则需要在标签中提供大量的配置信息,配置方式的灵活性是受限的。为此,spring可以通过实现FactoryBean的接口来定制实例化bean的逻辑。
1 创建User对象

package com.gientech.factoryBean;



public class User {

    private String id;

    private String userName;

    private String email;

    private String password;

    public User(String userName) {
        this.userName = userName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

2 创建MyFactoryBean

package com.gientech.factoryBean;


import org.springframework.beans.factory.FactoryBean;

public class MyFactoryBean implements FactoryBean<User> {
    @Override
    public User getObject() throws Exception {
        return new User("wangmazi");
    }

    @Override
    public Class<?> getObjectType() {
        return User.class;
    }

    @Override
    public boolean isSingleton() {
        return true;
    }
}

3 修改xml配置文件

标签:userName,return,String,接口,id,FactoryBean,User,使用,public
From: https://www.cnblogs.com/zgcy123456/p/18055443

相关文章

  • 消息中间件RabbitMQ的原理和使用
    一、什么是MQMQ是MessageQueue的简写,表示消息队列的意思,它是一种用于在应用程序之间传递消息的技术。多用于分布式系统之间进行通信,作为消息中间件使用。MQ的作用有应用解耦、异步提速、流量削峰填谷,当然也有缺点,加入MQ消息中间件会额外增加系统的外部依赖,是系统稳定性降低,同......
  • 【Azure Key Vault】使用REST API调用Azure Key Vault Secret的示例步骤
    准备阶段1)准备MicrosoftEntraID的注册应用(ServicePrincipal),如没有,需要注册它:Registeranapplication-MicrosoftAzure由世纪互联运营如取名“GetKeyVaultSecretVault01”,具体操作步骤,请参考:https://docs.azure.cn/zh-cn/entra/identity-platform/quickstart-register-......
  • 使用数组实现一个线性表
    线性表的存储结构顺序表:静态存储分配,编译时确定容量(相当于数组,如Javanewint[5]),用一段地址连续的存储单元依此存储线性表的数据元素如何实现一个线性表方法接口对于线性表中一些常用的方法,这些方法是线性表中经常使用的publicinterfaceListMethods<T>{voidclear......
  • 搜维尔科技:捕获、分析、优化,使用 Xsens Ergo 创建更安全的工作空间
    简化人体工程学分析,优先考虑员工福祉,并利用客观数据和见解提高生产力。捕获。分析。优化。使用XsensErgo创建更安全的工作空间1.质量数据使用高质量、客观且经过验证的运动数据进行详细的人体工程学分析2.随处使用在最具挑战性的工作环境中随时测量和分析3.快速、实时分......
  • nginx在windows下的使用二
    一、反向代理,多台机器1.需求和目的:nginx代理两台服务器,这两台服务器使用tomcat模拟浏览器访问http://localhost:9001/beijing/index.html,通过nginx,跳转到一个tomcat上(端口8080),浏览器上显示beijing浏览器访问http://localhost:9001/shanghai/index.html,通过nginx,跳转到一个tom......
  • PlantUML简单使用
    前言在项目中我们经常需要画时序图,类图等UML图,可以通过processon或者drawio这种在线网站,但不够灵活,也没办法很好的保存。PlantUML是一个可以让你快速编写UML图的组件,它通过文本来描述图形,因此可以很容易地将这些描述与源代码一起存储在版本控制系统中。然后PlantUML负责将......
  • js 数组筛选方法使用整理_JavaScript常用数组元素搜索或过滤
    一、常用方案介绍:如果你想找到在符合特定条件的阵列中的所有项目,使用filter。如果你想检查是否至少有一个项目符合特定的条件,请使用find。如果你想检查一个数组包含一个特定的值,请使用includes。如果要在数组中查找特定项目的索引,请使用indexOf 二、js数组筛选方法......
  • 使用 dat.GUI.js 简化试验流程
    导入jsimport{GUI}from"three/addons/libs/lil-gui.module.min.js";代码//定要要设置的属性varcontrols=new(function(){this.rotationSpeed=0.02;this.bouncingSpeed=0.03;//球体弹跳速度})();vargui=newGUI();gui.add(controls,"rotationS......
  • Java 切入点 JoinPoint的使用,用于拦截方法,与自定义注解
    这里的代码案例是外卖系统中,用于统一修改新增和更新内容中的更新时间与更新人内容,根据具体情况,在使用时进行自定义修改就行了第一部分是annotation的,因为是为了自动填充数据准备,所以创建annotation包后,在其中创建了AutoFill的注解类型/***自定义注解,用于标识某个方法需要用......
  • 自定义Hooks:四个典型的使用场景
    一、如何用好hook要用好ReactHooks,很重要的一点,就是要能够从Hooks的角度去思考问题。要做到这一点其实也不难,就是在遇到一个功能开发的需求时,首先问自己一个问题:这个功能中的哪些逻辑可以抽出来成为独立的Hooks?这样问的目的,是为了让我们尽可能的吧业务陆奥及拆分......