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

Spring简介、IOC介绍、基础使用、配置说明

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

Spring简介、IOC介绍、基础使用、配置说明

简介

Spring是一个开源免费框架。
是一个轻量级的、非入侵式的框架。
控制反转IOC和面相切面编程AOP。
支持事务处理,对框架整合的支持。

组成

Spring Core
Spring AOP
Spring DAO
Spring ORM
Spring Web
Spring Context
Spring Web MVC

IOC理论推导

原本开发:
UserDao接口

public interface UserDao {
    void getUser();
}

->UserDaoImpl实现类

public class UserDaoImpl implements UserDao{
    @Override
    public void getUser() {
        System.out.println("impl");
    }
}

->UserService业务接口

public interface UserService {
    void getUser();
}

->UserServiceImpl业务实现类

public class UserServiceImpl implements UserService{
    private UserDao userDao = new UserDaoImpl();

    @Override
    public void getUser() {
        userDao.getUser();
    }
}

之前业务中,用户需求可能影响原有代码即修改源代码。
原本实现方式:

private UserDao userDao = new UserDaoImpl();

改为使用:

	private UserDao userDao;
	
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

改为set注入后,程序变为被动接收对象。
程序员只需要设计接口,不用考虑具体对象创建,实现解耦,能更专心在业务实现上。

IOC本质

控制反转实际就是获得依赖对象的方式反转了,由原本代码业务层规定实现转为用户传参决定实现。
控制反转是一种通过描述(XML、注解)并通过第三方生产或获取特定对象的方式。在Spring中实现控制翻转的是Ioc容器,其实现方式的依赖注入DI

第一个项目 Bean配置文件



    
        
    


bean内部对应一个对象,id对应对象名,class对应实体类,property对应类中成员及参数设置。

对象获取
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
Hello hello = (Hello) applicationContext.getBean("hello");

依据Spring对先前项目进行Spring托管:

    

    
        
    

在配置中注册Bean,在property中,ref用于指向Spring生成的对象,value用于基本数据类型成员
若有新的UserImpl,直接在xml配置中注册新实现,绑定关系也只需在xml中修改。

IOC创建对象方式

①默认使用无参构造创建对象
②有参构造:
a.使用下标注入:

    
        
    

b.通过参数类型注入:

    
        
    

但当两个参数类型相同,比较麻烦
c.通过参数名注入:

    
        
    

注:Spring在读取配置文件时,就已经通过构造方法将bean创建好了。

配置说明 别名

User user = (User) applicationContext.getBean("u");

可以使用别名获取bean

bean配置

id、class上述都有描述,额外有属性配置:
name:别名,可以同时取多个别名
scope:单例、多例

import

用于团队开发使用,将多个配置文件导入合并为一个。
在一个xml配置文件A导入另一个B,在代码中读取A配置文件即可同时得到B的配置信息。


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

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

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