初识Spring以及SpringIOC

一、Spring 

1.什么是Spring框架?(重要

记忆关键字:1.核心思想(IOC、AOP) 2.作用(解耦、简化) 3.简单描述框架组成

        答:定义:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。

               核心思想:核心是IOC(控制反转)和 AOP(面向切面编程)

               作用:用于组件之间的解耦,以及简化第三方JavaEE中间技术的使用(JMS、任务调度、缓存、ORM框架)。

               框架组成:IOC容器、Validation数据校验、AOP面向切面编程、Transactions事务管理、Spring JDBC、Spring MVC框架、以及各类第三方JavaEE中间件技术集成。

2、Spring框架由哪些模块组成?(重要)

记忆关键字:官方文档描述,由7个模块组成

        答:Spring Framework 根据官方文档的描述,主要包括以下常用5个模块

1.Core:核心模块

        包括:IOC  Container(loc容器),Events(事件通知机制)、Resources(资源加载机制)、i18n(国际化)、Validation(数据校验)、Data Binding(数据绑定)、Type Conversion(类型转换),SpEL(Spring表达式)、AOP(面向切面编程)
2.Testing:测试模块
        包括:Mock 0biects(测试模拟对象),TestContext Framework(测试框架),Spring MVCTest(用于测试Spring Mvc),webTestclient(用于测试 Webclient、Restful、 webflux 等);
3.Data Access:数据访问模块

        包括:Transactions(事务管理),DA0support(统一的 Data Access 0bject DA0 模式封装),JDBc(Spring对于DC的操作封装),0/RMapping(Spring 对于对象关系映射框架的封装,例如 Hibernate等框架)等;
4.Web Servlet:基于Servlet的Web应用开发
        包括:Spring MVc( Spring 基于 MVC 模式设计封装的 Web框架),Websocket(Spring集成 Websocket,websocket 是一个服务器与客户端双向通信的技术)等;
5.Integration:企业级系统集成模块(不同系统之间的交互集成)
        包括:Remoting(spring 用于在分布式系统中进行远程服务调用的通讯框架),IMS(Spring集成各类Java消息中间件、Java消息服务[JavaMessage Service]、例如ActiveMQ等),Java Emai1(邮件发送),Tasks Scheduling(任务调度);

3、Spring环境搭建

(1)坐标 

(2)配置文件

3.1 配置文件 
<?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">


    <bean id="service" class="com.ztt.service.UserServiceImp"></bean>
    <bean id="dao" class="com.ztt.dao.UserDaoImp"></bean>
</beans>
3.2 坐标
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.29</version>
        </dependency>
    </dependencies>

二、SpringIOC

1、什么是Spring IOC?(重要)  

记忆关键字:IOC名词解释,作用是解耦,使用IOC容器管理项目组件之间的耦合关系。

 IOC(Inversion of Control,中文释义:控制反转),是Spring框架的核心思想之一,主要用于解耦

IOC是指将创建对象的控制权转移给Spring框架进行管理,由Spring框架根据配置文件或注解等方式,创建bean对象并管理各个bean对象之间的依赖关系。使对象之间形成松耦合的关系,实现解耦。

控制:指的是对象的创建(实例化、管理)的权利

反转:控制权交给外部环境(Spring框架、IOC容器)

 

2.、 Spring IOC容器的理解(重要

记忆关键字:IOC容器的作用、存储形式、初始化过程

1.I0C 通常被理解为I0C Container 容器,I0C 容器其实就是一个 Map,key 是每个 bean 对象的ID,value 是bean 对象本身。IOC 容器负责创建 bean 对象并管理 bean 的生命周期并且根据配置好配置文件或注解,管理 I0C 容器中的每个 bean ,以及根据 bean 之间的依赖关系,完成 bean 之间的注入。
2.IOC 容器属于 Spring core 模块,用来创建和管理 Bean ,默认使用单例的方式将 bean 存储在DefaultListableBeanFactory 类的 beanDefinitionMap中(-个 ConcurrentHashMap 类型的Map集合);
3.IOC 容器使用 ConcurrentHashMap 集合存储了 BeanDefinition 对象,该对象封装了 Sprin8对一个 Bean 所有配置信息,包括: 类名,属性,构造方法参数,依赖,是否延迟加载,是否是单例等配置信息;

3.Spring IOC实现步骤(重要

springIOC:
    1.找到需要以解耦方式获取实例对象的类
    2.将需要spring管理的类注入spring容器
        <bean id="唯一标识" class="类"></bean>
    3.向spring容器中索取java实例(解耦)
          3.1.加载spring核心配置文件,获取spring容器对象
               ApplicationContext applicationContext =  new ClassPathXmlApplicationContext("beans.xml");
          3.2.获取对象
                Student student = (Student) applicationContext.getBean("student");
关键字:
    BeanFactory(父)
    ApplicationContext(子)
ClassPathXmlApplicationContext===>通过加载主配置文件的相对路径,获取spring容器
FileSystemXmlApplicationContext===>通过加载主配置文件的绝对路径,获取spring容器
AnnotationConfigApplicationContext===>加载配置类,获取spring容器

 

 

 

 

 

 

 

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值