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

SpringIOC理解

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

SpringIOC理解

Spring框架介绍

 Spring是一个开源的框架,并且是一个轻量级的java开发框架,使现有的技术更加容易使用,本身就是一个大杂烩,整合了现有的主流技术框架

控制反转(IOC容器)

1.控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法
2.没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,
3.控制反转是一种通过描述(XML或注解)并通过第3方去生产或获取特定对象的方式。在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection,DI)

优点: 这种思想本质上的解决了问题,程序员不需要再管理对象的创建,系统的耦合性大大降低,更加专注于业务的实现上。

Spring框架搭建 

 

一、 导入Spring开发的基本依赖
    
      org.springframework
      spring-context
      5.2.5.RELEASE
    
    
      org.springframework
      spring-beans
      5.2.5.RELEASE
    
    
      org.springframework
      spring-core
      5.2.5.RELEASE
    
    
      org.springframework
      spring-expression
      5.2.5.RELEASE
    
二、 编写Dao接口和实现类
package com.yancy.dao;

import com.yancy.entity.User;

public interface UserDao {
    public User userLogin(User user);
}
package com.yancy.dao.impl;

import com.yancy.dao.UserDao;
import com.yancy.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

@Repository
public class UserDaoImpl implements UserDao {
    @Autowired
    JdbcTemplate jdbcTemplate;
    @Override
    public User userLogin(User user) {
        String sql="select * from user where userName=?";
        RowMapper rowMapper=new BeanPropertyRowMapper(User.class);
        User resUser= jdbcTemplate.queryForObject(sql,rowMapper,user.getUserName());
        return resUser;
    }
}
三、创建Spring核心配置文件


	
	
	
	
		
	
	
		
		
		
		
	
	
	
		
		
	
	
	
		
		
	
	
	
		
	
		
	


四、使用 Spring的API获得Bean实例



    
    
        
        
        
        
    
    
    
    
        
    
    
    
    

总结

1、依赖注入发生的时间

2、AbstractBeanFactory通过getBean向IoC容器获取被管理的Bean

3、AbstractAutowireCapableBeanFactory创建Bean实例对象

4、createBeanInstance方法创建Bean的java实例对象

5、SimpleInstantiationStrategy类使用默认的无参构造方法创建Bean实例化对象

6、populateBean方法对Bean属性的依赖注入

7、BeanDefinitionValueResolver解析属性值

8、BeanWrapperImpl对Bean属性的依赖注入

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781574.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

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