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

Spring介绍

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

Spring介绍

目录

课程内容

IOC(控制反转)

IOC介绍

IOC是什么

IOC能做什么

Spring容器管理对象

1、maven管理依赖

2、给定容器的配置文件

3、IOC容器管理对象

4、通过容器来获取对象

Spring中IOC容器介绍


课程内容

了解spring

IOC(控制反转)

DI(依赖注入)

AOP(面向切面编程)

spring和mybatis的整合

IOC(控制反转)

IOC介绍

IOC是什么

IOC(Inversion of Control 即控制反转)将对象交给容器管理

考虑:谁控制谁、控制什么?为了是反转?那些方面反转?

谁控制了谁?是容器控制了对象

控制什么?主要控制了外部资源及生命周期

由容器帮我们查找并注入依赖的对象,对象只能被动的接收依赖对象,依赖对象的获取被反转了

 传统程序对象依赖处理:

三个类。

UserInfo:用户信息类,属性有name,sex

User:用户类

Client:客户类,实现调用User类

//用户信息类
public class UserInfo {
  private  String name;

    private  String sex;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }



}

 

//用户类
public class User {
    private UserInfo userinfo;
    public User(UserInfo userinfo){
        this.userinfo = userinfo;
    }

    //修改用户名
    public void updataName(String  name ){
        userinfo.setName(name);
    }


    //修改性别
}

 

  public static void main(String[] args) {
        //完成用户信息的修改

        
        UserInfo userinfo = new UserInfo();
        User user = new User(userinfo);
        user.updataName("张三");
    }

spring中提供了一种IOC容器,来控制对象的创建,无论是你创建对象,处理对象之间的依赖关系,对象的创建时间还是对象的创建数量,都是spring提供IOC容器上配置对象的信息就可以了

IOC能做什么

由IOC容器帮对象找相应的依赖思想并注入,并不是由对象主动去找

资源集中管理,实现资源的可配置和易管理

降低了使用资源双方的依赖程度,松耦合

Spring容器管理对象

1、maven管理依赖

引入spring核心依赖

    

        4.1.7.RELEASE
    

    
        
        
            org.springframework
            spring-beans
            ${spring.propety}
        

        
            org.springframework
            spring-core
            ${spring.propety}
        

        
            org.springframework
            spring-context
            ${spring.propety}
        
        
            org.springframework
            spring-expression
            ${spring.propety}
        
    

2、给定容器的配置文件

将要交个容器的对象配置在该配置文件中,配置文件名Applicationcontext.xml








 

3、IOC容器管理对象

将userInfo对象交给容器管理

   
    

4、通过容器来获取对象
    public static void main(String[] args) {
        //获取IOC容器
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("springcontext1.xml");
        //获取对象
        UserInfo userInfo = (UserInfo)context.getBean("userInfo");
        System.out.println(userInfo);
    }

执行结果:

通过spring容器获取到了对象

总结:Spring IOC操作

1、增加一个spring配置文件

2、解析xml的配置文件

3、BeanFactory工厂类

4、在工厂类中使用反射创建bean对象

Spring中IOC容器介绍

在spring中,spring-core包模块中包含IOC技术,IOC容器主要是为了管理对象,以及对象之间的依赖关系

容器实现主要是BeanFactory接口和ApplicationContext接口,其继承关系如上图所示:

BeanFactory

是Spring IOC的最底层设计,提供了先进的配置机制,使得任何类型的对象配置成为可能。

ApplicationContext

ApplicationContext接口是继承自BeanFactory,实现了许多接口的扩展。

BeanFactory的使用和ApplicationContext类似

BeanFactory factory = new xmlBeanFactory(new ClassPathResource("context.xml"));
fatory.getBean("XXX");

BeanFactory和ApplicationContext区别在于:BeanFactory的实现是按需创建,即第一次获取Bean才创建这个Bean(按需创建),而ApplicationContext会一次性创建所有Bean。BeanFactory是ApplicationContext父接口,ApplicationContext也提供了一个额外的功能,比兔提供支持国际化、事件通知等,通常总是使用ApplicationContext,现在很少使用BeanFactory。

ApplicationContext接口常见实现类:

  • ClassPathXmlApplicationContext

读取的xml配置文件放置在类路径下,优先考虑使用ClassPathXmlApplicationContext

//获取IOC容器
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("springcontext.xml");
  • FileSystemXmlApplicationContext

读取的配置文件放置在文件系统路径下,则优先考虑使用FileSystemXmlApplicationContext

FileSystemXmlApplicationContext context1 = new FileSystemXmlApplicationContext("c://applacation.xml");
  • XMLWebApplicationContext

需要在web环境下读取配置信息XMLWebApplicationContext

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

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

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