栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Spring学习笔记(一)- 依赖注入

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习笔记(一)- 依赖注入

文章目录
  • Spring学习笔记(一) - 依赖注入
    • Setter注入
      • 引用类型
      • 简单类型
    • 构造器注入
      • 引用类型
      • 简单类型
    • 依赖自动装配
    • 集合注入

Spring学习笔记(一) - 依赖注入

依赖注入描述了再容器中bean与bean之间依赖关系的过程,但是bean运行需要的数字或字符串需要提出一种新的方法进行解决

Setter注入 引用类型
  • 在bean中定义引用类型并提供可访问的set方法
    public class BookServiceImpl implements BookService {
    	
    	private BookDao bookDao;
    	public void setBookDao(BookDao bookDao) {
    		this.bookDao = bookDao;
    	}
    } 
    
  • 配置中使用property标签ref属性注入引用类性对象(可以注入多个引用类型)
    
    	
    
    
    
    
简单类型
  • 在bean中定义引用类型并提供可访问的set方法

    public class BookDaoImpl implements BookDao {
    	
    	private int connectionNum;
    	private String databaseNum;
    	
    	public void setConnectionNum(int connectionNum) {
            this.connectionNum = connectionNum;
        }
    
        public void setDatabaseName(String databaseName) {
            this.databaseName = databaseName;
        }
    
        public void save() {
            System.out.println("book dao save ..."+databaseName+","+connectionNum);
        }
    }
    
  • 配置中使用property标签value属性注入引用类性对象(可以注入多个简单类型)

    
    	
    		
    
    
构造器注入 引用类型
  • 在bean中定义引用类型属性并提供可访问的构造方法

    public class BookServiceImpl implements BookService {
        private BookDao bookDao;
    
        public void save() {
            System.out.println("book service save ...");
            bookDao.save();
        }
    
        public BookServiceImpl(BookDao bookDao) {
            this.bookDao = bookDao;
        }
    }
    
  • 配置中使用constructor-arg标签ref属性注入引用类型对象

    
         
    
    
    
    
简单类型
  • 在bean中定义引用类型属性并提供可访问的构造方法
    public class BookDaoImpl implements BookDao {
    
        private int connectionNum;
        private String databaseName;
    
        public BookDaoImpl(int connectionNum, String databaseName) {
            this.connectionNum = connectionNum;
            this.databaseName = databaseName;
        }
    
        public void save() {
            System.out.println("book dao save ..."+databaseName+","+connectionNum);
        }
    }
    
  • 配置中使用constructor-arg标签value属性注入引用类型对象
    
          
          
    
    
依赖自动装配
  • IoC容器根据bean所依赖的资源在容器中自动查找并注入bean中的过程称为自动装配
  • 配置中使用bean标签autowire 属性设置自动装配的类型,常见的方法:按类型装配(常用),按名称装配,按构造方法装配,不启用自动装配
    
    
    
  • 注意事项:
    1. 自动装配于引用类型依赖注入,不能对简单类型进行操作;
    2. 使用按类型装配时,必须保障容器中相同类型的bean唯一,推荐使用;
    3. 使用按名称装配时必须保障容器中具有指定名称的bean,因变量名与配置耦合,不推荐使用;
    4. 自动装配优先级地域setter注入与构造器注入,同时出现时自动装配配置失效
集合注入
  • 在bean中定义引用类型属性并提供可访问的构造方法
    public class BookDaoImpl implements BookDao {
    
        private int[] array;//数组
        private List list;//列表
        private Set set;//集合
        private Map map;//map键值对
        private Properties properties;//properties
        
        public void setArray(int[] array) {
            this.array = array;
        }
    
        public void setList(List list) {
            this.list = list;
        }
    
        public void setSet(Set set) {
            this.set = set;
        }
    
        public void setMap(Map map) {
            this.map = map;
        }
    
        public void setProperties(Properties properties) {
            this.properties = properties;
        }
    
        
        public void save() {
            
            System.out.println("book dao save ...");
            System.out.println("遍历数组:" + Arrays.toString(array));
            System.out.println("遍历List" + list);
            System.out.println("遍历Set" + set);
            System.out.println("遍历Map" + map);
            System.out.println("遍历Properties" + properties);
        }
    }
    
  • 配置中使用properties标签name属性注入集合类型对象
    
    
        
        
            
                100
                200
                300
            
        
    
        
        
            
                广州大学
                广东工业大学
                广东外语外贸大学
                广东财经大学
                深圳大学
            
        
    
        
        
            
                清华大学
                北京大学
                上海交通大学
                复旦大学
            
        
    
    
        
        
            
                
                
                
            
        
    
        
        
            
                XDU
                CS
                Pro.An
            
        
    
    
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1036447.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号