Spring注入

前言

向一个普通的类中注入数据有什么方法?

set方法

构造方法

依赖注入描述了在容器之间建立bean与bean之间依赖关系的过程,如果bean运行需要的是数字或者字符串呢?

引用类型

基本数据类型与String

依赖注入方式

setter注入

简单类型

引用类型

构造器注入

简单类型

引用类型

一、Setter注入

1、引用数据类型

在bean中定义引用数据类型并且提供可访问的set方法。

    private BookDao bookDao;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
    
        
    

 配置文件中使用property标签ref属性注入引用类型对象。

(property对应的是bean中的引用数据类型变量,ref对应其他bean的id)

2、基本数据类型和String

在bean中定义基本数据类型并且提供set方法。

    private int connection;
    private String databases;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    public void setConnection(int connection) {
        this.connection = connection;
    }

在配置文件中使用property标签value属性进行注入简单数据类型 

 
        
        
        
    

二、 构造器注入

引用数据类型

在bean中定义引用数据类型属性并且提供可访问的构造方法

    private BookDao bookDao;
    //这是一个构造方法
    public BookDaoImpl(BookDao bookDao) {
        this.bookDao = bookDao;
    } 

在配置文件中使用constructor-arg标签ref属性注入引用数据类型对象


        

简单数据类型与String

在bean中定义引用数据类型并且提供可访问的set方法

    private int connection;
    private String databases;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    public void setConnection(int connection) {
        this.connection = connection;
    }

配置中使用constructor-arg标签value属性注入简单数据类型


    

参数适配

为了解决配置文件和set方法中变量名相同耦合度较高的问题,有以下两种解决方法。

Spring注入_第1张图片

总结 

Spring注入_第2张图片

 依赖自动装配

Ioc容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称之为自动装配

自动装配方式

1、按类型(最常用)


(我们可以对比一下使用setter注入) 

    
        
    

2、按名称

3、按构造方法

4、不启用自动装配

Spring注入_第3张图片

集合注入

注意:如果是引用类型注入,添加

    
        
        
            
                1010
                200
                300
            
        
        
            
                dajiahao
                2buabeo
                fqf
            
        
        
            
                
                
                
                
            
        
    

 

你可能感兴趣的:(SSM,spring,java,spring,boot)