Spring,Spring MVC、Mybatis和Spring boot(知识点总结)

Spring

概述:Spring是轻量级的开源的JavaEE框架

  • Spring可以解决企业级应用开发的复杂性
  • 是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。
  • 常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。

spring框架的主要特点:

  • 控制反转 IOC:spring框架创建对象,管理对象,以及管理对象之间的依赖关系。
  • 依赖注入 DI :通过构造函数,或者set方法,给对象的属性赋值。IOC就是通过DI来实现的。
  • Bean:java类型,由spring框架创建的对象,就被称为bean
  • 面向切面编程 AOP

spring的两个核心部分:IOC、AOP

IOC(控制反转):把创建对象和对象之间的调用的过程,交给Spring进行管理。从而降低耦合度。

​ 在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。

​ 所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

  • IOC底层原理

    • xml解析、工厂模式、反射

    • IOC的过程:

      1、第一步 配置XML文件,配置创建的对象。

      <bean id=”dao” class = “com.hwl.UserDao”></bean>
      

      2、第二步 有service类和dao类,创建工厂类

      class UserFactory{
             
      		public static UserDao getDao(){
             
      				String classValue = class属性值; //xml解析
      				//通过反射创建对象
      				Class classz = Class.forName(classVlue);
      				return (UserDao)classz.newInstance();      
      	}
      }
      
    • IOC的本质:就是基于IOC容器完成,IOC容器底层就是对象工厂。

  • IOC接口(BeanFactory)

  • IOC操作(基于xml)

  • IOC操作(基于注解)

AOP:面向切面,不修改源代码的情况下,进行功能的增强。

概念:面向切面编程。意为:在不修改源代码的情况,进行功能的增强。

  • 面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

  • 通俗的描述:不通过修改源码的方式,在主干功能里面添加新的功能。

  • 使用登录的例子说明AOP

    ​ 例如:现在有一个登录功能,用户输入账号面就可以登录,但是该用户是一个新用户,如果现在需要添加一个注册功能,按照之前的逻辑,就需要在,源代码的上面去进行功能的添加,同时代码量也会增加,但是如果利用aop的思想,我们就可以在登录方法前或者后,添加注册功能,同时两个模块互不干扰,从而也可以降低耦合度。

  • 实现AOP的两种方法:

    • 动态代理有接口的情况:创建接口实现代理对象,增强类的方法。
    • 动态代理没有有接口的情况:使用CGLIB动态代理。创建子类的代理对象,增强类的方法。

AOP术语

  • 首先通知分为多种类型
    • 前置通知:Before
    • 后置通知:After
    • 环绕通知:Around
    • 异常通知:After Throwing
    • 最终通知:finally
      在这里插入图片描述
      在这里插入图片描述

spring容器

spring容器是什么?

  简单来说,Spring容器是用来装Spring Bean的。

​ 在Spring中,所有的java对象均交由Spring容器使用DI(dependency injection)来进行托管,在需要时进行调用,并维护其生命周期。

​ 所以,我们看到Spring容器和Spring bean是一种包含的关系,容器装载并维护着bean。

Spring中的容器是不唯一的,但大体上包括两个:BeanFactory和ApplicationContext

  • 这两者都能,加载配置文件,通过工厂的这个过程,去创建对象

    1、BeanFactory:

    • 也就是我们一直说的IOC容器,管理Bean的工具。
    • ICO容器基本实现。
    • 是spring内部的使用接口,一般不提供开发人员进行使用。

    2、ApplicationContext:

    • 它是BeanFactory接口的子接口,提供更多更强大的功能。(一般由开发人员进行使用)

    两者之间的区别:

    • BeanFactory,在记载配置文件的时候不会创建对象,而是在使用的时候才回去创建对象。
    • ApplicationContext,在加载配置文件的时候,就会把配置文件中的对象进行创建。

bean标签的属性设置

  • id : bean的唯一标志

  • class :bean的类型

  • factory-method :调用工厂方法,创建对象

  • factory-bean :调用创建对象的bean , 然后再factory-method 设置需要调用的具体的方法。

  • scope:

<!-- 通过scope设置bean对象时单例还是非单例: prototype : 非单例, 每次获取到的对象都是一个新的对象。 singleton :单例, 容器创建好这个对象之后,每次你使用都是同一个对象。 --> 
<
  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值