Spring

Spring 入门教程

1、参考资料

尚硅谷-Spring5框架最新版教程(idea版)https://www.bilibili.com/video/BV1Vf4y127N5?p=3&spm_id_from=pageDriver
雷丰阳spring、springmvc、mybatis、spring一站式学习
spring : https://blog.youkuaiyun.com/oneby1314/article/details/114259893
https://blog.youkuaiyun.com/weixin_45496190/article/details/107059038
JAVAEE: https://blog.youkuaiyun.com/PorkBird/article/details/113666542

2. Spring 框架概述

  1. Spring 是轻量级的开源的 JavaEE 框架
  2. Spring 可以解决企业开发应用的复杂性
  3. Spring 为简化企业级开发而生,使用Spring,Javabean就可以实现很多以前要靠EJB才能实现的功能
  4. Spring有两个核心部分:IOC和AOP
    (1) IOC : 控制反转,把对象过程交给Spring进行管理(2)AOP:面向切面,不修改源代码进行功能增强。
  5. Spring的特点
    方便解耦,简化开发
    AOP编程支持
    方便程序测试
    方便和其他框架进行整合
    方便进行事务操作
    降低API开发难度

3. 开发

1、IOC操作Bean管理
​ a)Bean管理就是两个操作:(1)Spring创建对象;(2)Spring注入属性
​ 2、基于XML配置文件创建对象

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

id:表示唯一标识
class:b表示类全路径(包类路径)
name:中可以用特殊符号,但现在不怎么用name属性了
创建对象时,默认也是执行无参数构造方法完成对象创建
​ 3、基于XML方式注入属性(DI:依赖注入(注入属性))
有参构造constructor-arg中也可以有index 和value

4. IOC控制反转

1. 什么是IOC

控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
使用IOC的目的:是为降低耦合度
做入门案例就是IOC实现

2. IOC底层原理

xml解析、工厂模式、反射
原始方式创建对象,调方法,缺点:耦合度太高了
在这里插入图片描述
工厂模式
在这里插入图片描述
对象和对象之间不可能完全没有耦合,UserService和UserDao解耦
IOC原理进一步降低耦合度
反射的目的是通过得到.class文件,从而得到类中内容
1.得到包类路径,2.通过反射得到它的反射对象
newInstance()可以直接将它的方法创建
在这里插入图片描述
newInstance可以创建对象

3. 反射机制

  1. 反射机制的作用
    通过java语言中的反射机制可以操作字节码文件,有点类似于黑客
    通过反色和机制可以操作代码片段(class文件)
  2. 反射机制相关的类在java.lang.reflect包下
    java.lang.class 代表字节码文件,代表一个类型
    java.lang.reflect.Method 代表字节码中的方法字节码,代表类中的方法
    java.lang.reflect.Constructor 代表字节码中的构造方法字节码,代表类中的构造方法
    java.lang.reflect.Filed 代表字节码中的属性字节码,代表成员变量(静态变量)
    在这里插入图片描述
  3. Class.forName():
    静态方法
    方法的参数是一个字符串
    字符串需要的是一个完整类名
    完整类名必须带有包名,java.lang包不能省略
    在这里插入图片描述

IOC(BeanFactory接口)

1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2、Spring提供IOC容器实现两种方式:(两个接口)
(1)BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用,什么时候使用才会创建对象
加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用
加载配置文件时候就会把在配置文件对象进行创建
用在web中,因为用到了服务器,因此ApplicationContext会更好
ApplicationContext接口有实现类
FileSystemXMLApplicationContex接口要用绝对路径
ClassPathXMLApplicationContext接口要用相对路径

OC操作Bean管理

什么是Bean管理

(0)Bean管理指的是两个操作
(1)Spring创建对象
(2)Spirng注入属性

Bean管理操作有两种方式

(1)基于xml配置文件方式实现
(2)基于注解方式实现

下载各种jar包的地方

https://mvnrepository.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值