Spring框架学习之路,完整版 持续更新,有代码仓库对比

Spring框架学习之路,完整版 持续更新,有代码仓库对比,第1张

Spring框架学习之路,完整版 持续更新,有代码仓库对比 ✅Spring框架学习

  本项目主要总结本人学习Spring框架的过程,其中会包含一些心得体会,和源代码练习,以及自己对某些知识点的理解,方便进行持续学习,在不断学习的路上也能及时和高效的复习回顾,总结在初次接触学习和后续复习的理解程度,能够更好地梳理知识框架体系。

代码仓库
  • Github:https://github.com/ihaner/Spring
  • Gitee:https://gitee.com/ihaner/Spring
❤️Spring简单理解
  • Spring是一个开源的轻量级框架
  • 主要解决的是企业级开发问题
  • Spring可以被看作一个容器,是非侵入式的
  • 面向切面
  • IOC(Inversion of Control控制反转)和AOP(Aspect Oriented Programming面向切面编程)
♥️知识点总结 第1️⃣天
  • Spring框架构建
  • 基本的Dao层(数据访问层),Service层(业务层逻辑)和用户层架构
  • 将程序的耦合度降低
  • 使用Set()方法进行注入,将程序根据业务创建对象的权力交给了用户,让用户根据需求,来创建想要的对象,程序只是被动地接受对象,将权力交给了用户。

个人理解
IOC:控制反转,是一种设计思想,即获取依赖对象的来源改变了。从一般情况下程序主动创建所需要的业务对象,到控制反转后,将依赖对象的创建权力交给了用户,使得用户可以根据自身的需求来创建不同的对象,而不会影响到程序系统本身的架构,耦合度降低。在第一天的学习中,我们使用的是DI(依赖注入dependency injection)这种方式来实现,通过中间的Set方法来将用户主动构建的对象调用到程序中,实现了控制的反转。

IOC的作用:就是将原本错综复杂,耦合度高的对象,通过IOC容器降低他的耦合度,使的各部分都可以独立运行,尽量做到互不干扰,即一方异常也不会影响到其他方面,降低耦合度,能够提高维护项目和对项目现有功能扩展的便捷性。

第2️⃣天
  • IOC是Spring框架的核心内容
  • IOC也可以通过XML配置Bean进行实现,Bean的定义信息和实现是分离的
  • Spring容器在初始化时先读取配置文件,将配置文件中的所有组织的对象存入容器中。

    注解:在Spring中,只要加载了配置文件,无论类是否获取或者调用容器内的对象,对象都会被提前定义好,只是在使用的时候,拿出来使用,并不是在使用的时候才开始构建对象。

  • 对象由Spring来进行创建管理和装配。
xml和bean的语法
  1. 声明XML配置,声明bean

XML声明:Spring官方给定的格式



  
     
  
  
  
     
  
  

  1. 将配置好的XML文件加载到实际使用的类中,该context实例对象即就包含XML文件中声明好的所有bean。
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
  1. 实际bean声明的语法定义

对于主要的创建对象的方法,明天再进行记录


        
        
        

注释说明:

id:ID就是在context对象中包含的实例化当前Bean中声明的类型的对象名称,可以使用context.getBean(“这里填写声明好的ID值,即可获取到对象”);

class:就是当前bean标签所管理的类,需要填写绝对位置,即构建好的对象的类型就是当前声明的类型

property:对类对象属性的初始化,其中name为类中的属性名称,如果属性值为基本数据类型则使用value进行赋值,如果是其他数据类型,则就要使用ref进行赋值。

bean中的对象构建:在没有进行调用的时候,已经调用了无法参构造器,即在初始化加载阶段已经进行了对象的调用

XML文件中加载其他XML

  在XML文件中,可以将其他XML配置文件通过import标签进行导入,语法如下。

在一个项目中,可能会分为多个模块,而多个模块会创建不同的bean.xml文件,我们导入不方便,所以可以进行导入,方便我们使用。


    
    
    

    
    

  在约定中,用户可以定义多个xml文件,但在使用过程中,将其全部导入类文件,比较繁琐,所以我们一般将所有的XML文件导入到ApplactionXml这一个xml中,在使用时仅需要导入这个即可。

第3️⃣天
  • Spring容器就可以看做一个对象池,将定义好的对象全部进行存储,然后通过Spring容器进行调用。
  • IOC创建对象的几种方式
  • 对bean对象做别名
IOC创建对象的几种方式:
  1. 调用无参构造法

直接对属性进行赋值


        
        
        

  1. 调用有参构造法
    使用constructor-arg标签,可以进行传参 *** 作。
  • 传递引用给构造器,按照标签的顺序进行传参(不推荐使用)
 
    
        
        
    
    
    
    

    

  • 通过给定数据类型,然后直接传入value值

    
    

  • 通过给定参数列表的下标,然后传入value值

下标索引和Java中规则一致,从0开始


    
    

  • 通过构造器参数名称来进行传参 *** 作,避免歧义(推荐)

name为构造器参数名,value为传入的具体值


    
    
 
对bean对象做别名

因为在实际使用中,在创建大量对象以后,部分对象的名称可能会重复,或者很复杂,不方便我们进行调用,可以使用别名。

  1. 使用alias标签进行做别名

name是所指定bean对象的id值,alias是要设定的别名的值

 
  1. 直接在bean标签中进行进行做别名

第4️⃣天
  • 常见数据结构的初始化(Connection、Map、Set、``)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5681840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存