Spring入门——day1
一 . 简介
Java EE编程领域的一个轻量级开源框架(容器)
优点:
轻量级、非入侵式(不会对原有代码产生影响)
其目的是解决企业应用开发中的复杂性
控制反转(IOC)和面向切片编程(AOP)
支持对事物的处理,对框架的整合
依赖
<dependency>
<groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
        <version>5.3.16</version>
    </dependency>
组成
  
   
1 . Spring:一个快速开发的脚手架,可以快速开发单个微服务,约定大于配置
2 . Spring Cloud:基于SpringBoot实现
二 . IOC理论
1 . 前言:
在入门学习中,我们会通过需求去改写源代码,但是如果设计代码量十分大时,其成本极高
所以我们可以使用一个 set()接口实现
      
以前程序都是主动创建对象,控制权在程序员
使用 set 注入后,程序不再具有主动性,而是被动接受对象,主动权交给用户
好比需要在外部使用 java 中 private 类中的属性时,需要使用 set 和 get 方法进行注入和获取
这就是控制反转的意思,程序耦合性大大降低
2 . 控制反转:Inversion of Control
一种设计思想,DI(依赖注入)时实现 IOC 的一种方法
在没有 IOC 的程序中,我们使用面向对象编程,对象的创建与其依赖关系完全硬编写在代码中,对象的创建由程序自己控制,其他人无法控制
使用控制反转后,对象的创建交由第三方(或者说是用户),反转由此而来
    
spring 相当于图二中间位置的齿轮,将各部分的对象存放在容器中,需要时从容器中取出即可
所以控制反转是一种通过描述(XML活泼注解) 并通过第三方来生产或获取特定对象的方式
在Spring中实现控制反转的是 IOC 容器,其实现方式是依赖注入(DI:Dependency Injection)
PS:如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。
Java Bean正是编写这套胶水代码的惯用模式或约定。这些约定包括getXxx、setXxx、isXxx、addXxxListener、XxxEvent等
通俗点讲,java Bean 就是一个程序通用的模板
三 . 第一个程序:hello Spring
1 .
    
2 .
    
3 .
    
4 . 总结:
用了Spring后就不用再去程序中改动代码来实现不同的操作了,
只需要在 XML 配置文件中的 Beans 标签下注册 bean 来实现对 对象的一系列操作
IOC 用一句话描述就是:对象由 Spring 来创建,管理,装配
四 . IOC 的创建方式
1 . 默认使用 无参构造 创建对象
    
 
2 . 使用有参构造 , 通过参数下标 创建
    
  
3 . 使用有参构造,通过参数类型 创建(不推荐使用)
    
  
4 . 使用有参构造,直接通过 参数名 创建 (重点掌握)
    
  
5 . 我们再创建一个 UserT 的实体类,但是测试类中还是调用的 User 类,结果输出结果如下:
    
PS:说明在 getBean 的时候,配置文件中(容器中)所管理的所有对象都已经被创建了,都执行了每个类的构造方法,
所以会有即使没有调用 UserT类但还是执行了 UserT类 中构造方法中的输出语句
五 . Spring 配置说明
1 .
    
2 . import :一般用于团队开发使用,可将多个配置文件,导入合并为一个
使用时直接使用 applicationContext 这个总配置文件即可
    
也可以在引用 配置文件时,写入多个(不规范)
    
                    
                
                
            
        
浙公网安备 33010602011771号