Spring中構建BeanDefinition的兩種方法


  • BeanDefinitionBuilder
  • GenericBeanDefinition

RumenzA.class

package com.rumenz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

public class RumenzA {

    private String id;
    private String name;

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public  RumenzA() {
        System.out.println("RumenzA 無參構造方法");
    }
}

BeanDefinitionBuilder

 //1.通過BeanDefinitionBuilder
 BeanDefinitionBuilder bdb=BeanDefinitionBuilder.genericBeanDefinition(RumenzA.class);
 //設置屬性
 bdb.addPropertyValue("id",1).addPropertyValue("name","入門小站");
 //獲取BeanDefinition
 BeanDefinition bd=bdb.getBeanDefinition();
 //后期的BeanDefinition還是可以修改的
 System.out.println(bd);
 

GenericBeanDefinition

 //2.通過GenericBeanDefinition
 GenericBeanDefinition gb= new GenericBeanDefinition();
 //設置bean
 gb.setBeanClass(RumenzA.class);
 //設置屬性
 MutablePropertyValues mp=new MutablePropertyValues();
 mp.add("id",1).add("name","入門小站");
 gb.setPropertyValues(mp);
 System.out.println(gb);

原文: https://rumenz.com/rumenbiji/spring-beandefinition-build.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM