Spring入门案例以及IOC的概念

时间:2021-08-29
本文章向大家介绍Spring入门案例以及IOC的概念,主要包括Spring入门案例以及IOC的概念使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Spring是轻量级的开源JavaEE框架

Spring可以解决企业应用开发的复杂性

Spring的特点

(1)方便解耦,简化开发

(2)Aop 编程支持

(3)方便程序测试

(4)方便和其他框架进行整合

(5)方便进行事务操作

(6)降低API开发难度

Spring 有两个核心部分:IOC 和 Aop

  1. IOC:控制反转,把创建对象过程交给 Spring 进行管理
  2. Aop:面向切面,不修改源代码进行功能增强

IOC的概念和作用

什么是程序的耦合

​ 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。耦合性存在于各个领域,而非软件设计中独有的,但是我们只讨论软件工程中的耦合。

​ 在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。

工厂模式解耦

​ 在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候,让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时候,直接拿过来用就好了。

那么,这个读取配置文件,创建和获取三层对象的类就是工厂。

控制反转(IOC)

把创建对象的权利交给框架,它包括依赖注入和依赖查找。

比如有一个类,在类里面有方法,调用类里面的方法。创建类对象,使用对象调用方法,创建类对象的过程,需要new出来对象。把对象的创建不是通过new方式实现,而是交给spring配置创建类对象。

明确ioc的作用: 削减计算机程序的耦合(解除我们代码中的依赖关系)

IOC操作两部分

(1)ioc的配置文件方法

(2)ioc的注解方法

IOC底层原理

(1)xml配置文件

(2)dom4j解决xml

(3)工厂设计模型

(4)反射

Spring提供IOC实现的两种方式

两个接口:

(1)BeanFactory:IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用

  • 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象。

BeanFactory 接口的实现类:

(2)ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人员进行使用

  • 加载配置文件时候就会把在配置文件对象进行创建。

ApplicationContext接口的实现类:

  • FileSystemXmlApplicationContext:

    是从磁盘路径上加载配置文件(必须有访问权限),配置文件可以在磁盘的任意位置。

  • ClassPathXmlApplicationContext:

    它是从类的根路径下加载配置文件,要求配置文件必须在类路径下,推荐使用这种

  • AnnotationConfigApplicationContext:

    当我们使用注解配置容器对象时,需要使用此类来创建spring容器。它用来读取注解。

Spring入门案例

1.新建User类

public class User {
    public void add(){
        System.out.println("add...");
    }
}

2.创建spring配置文件

spring配置文件使用xml格式,例如bean.xml,在spring配置文件中配置创建的对象

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--配置User对象创建-->
    <bean id="user" class="com.lalala.spring5.User"></bean>

</beans>

3.编写代码进行测试

public class TestSpring {
    @Test
    public void testAdd(){
        //1.加载配置文件
        ApplicationContext context =
                new ClassPathXmlApplicationContext("bean.xml");
        //2.获取配置创建的对象
        User user = context.getBean("user", User.class);
        System.out.println(user);
        user.add();
    }
}

测试结果如下

原文地址:https://www.cnblogs.com/bubbleboom/p/15202216.html