Spring DI注入技术

2021-05-12 20:27

阅读:485

标签:属性集   基本数据   好友列表   rdp   问题   info   取值   map   dex   

1概念:Dependence injection 依赖注入技术

   DI技术解决组件装配问题,不是对象创建问题,对象默认采用无参构造函数

   容器与bean对象建立关系,实现注入途径DI注入

   DI注入会自动将调用者需要的对象实例注入给调用者,调用者通过 Spring 容器获得被调用者实例,这称为依赖注入

2.两种注入方式

a..Spring的setter注入

在实体类中构造setter方法,基本类型value注入,对象类型ref注入,属性与成员变量不是同一个概念,此属性对应setter方法成员变量

b.构造器注入

,默认通过有参构造,进行参数注入,在实体类中必须构造有参函数

根据参数个数,参数类型就行注入,有局限性

c.自动装配(自动注入)

可以简化Xml配置,使用autowire取值

no-不采用自动装配

byName-根据bean的属性值或者id属性值进行注入

byType-根据类型进行注入,不识别id,会发生冲突

constructor-应用于构造器参数

Card类

public class Card {

    private String suit;
    private int point;

CardPlayer类

public class CardPlayer {
    private String name;
    private int age;
public class MsgBean {
    private String name;
    private int length;
    private List friends;
    private Set  familys;
    private Map phones;
    private Properties address;//属性集合属性
    

 

private Card card;
    
      private CardPlayer()
      { super(); // TODO Auto-generated constructor stub
      }
      
     

    private CardPlayer(String name, int age, Card card) {
        super();
        this.name = name;
        this.age = age;
        this.card = card;
    }

Xml里面bean组件配置
















 技术图片

 自动装载数据类型

 
class="com.tracy.bean.Card">
    class="com.tracy.bean.CardPlayer">
    class="com.tracy.bean.CardPlayer" autowire="constructor">
     

3.Bean参数注入

基本数据类型的注入:short int byte long float double String boolean


class="com.tracy.bean.CardPlayer">
    赌王18null>null>
   

4.集合注入

List Map Set Property

List注入允许重复  Set注入set不允许重复,可以排重

XML文件配置







小明
小王
小张
小小
小小






小明
小王
小张
小小
小小















兰州
北京
重庆
云南


实体类

public class MsgBean {
    private String name;
    private int length;
    private List friends;
    private Set  familys;
    private Map phones;
    private Properties address;//属性集合属性
    

5.单独自定义集合类

 

bean id="msg" class="com.tracy.bean.MsgBean">
    property name="name" value="你的好友列表">property>
    property name="length" value="4">property>
    property name="friends"  ref="myFriends">property>
    property name="address" ref="myDress">    property>
bean>


util:list id="myFriends">
            value>小明value>
            value>小王value>
            value>小张value>
            value>小小value>
util:list>
util:properties id="myDress">
           prop key="小周">兰州prop>
            prop key="小吴">北京prop>
            prop key="小郑">重庆prop>
            
util:properties>

 

Spring DI注入技术

标签:属性集   基本数据   好友列表   rdp   问题   info   取值   map   dex   

原文地址:https://www.cnblogs.com/tracyDemo/p/13128720.html


评论


亲,登录后才可以留言!