Spring&SpringBoot

本文详细介绍了Spring框架的核心——IOC和AOP,包括bean的生命周期、依赖注入、自动装配等概念,以及SpringBoot的优势,如快速构建项目,内置Tomcat等。还涉及到了动态代理、静态代理、JDBC、Druid连接池、Web开发和HTTP协议等相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

框架

  1. 具有一定约束性支撑我们完成功能的半成品; 框架中有一定的标准,用框架的时候需要遵守这些标准。
  2. 持久层框架:mybatis(自己写sql语句,益于维护)

Spring框架

1. Spring的核心:是一个IOC(最核心,可以用来管理对象)和AOP容器框架。

在这里插入图片描述
tomcat:是web容器,管理sevlet生命周期
bean容器:对象容器,管理对象的生命周期。
组件化(降低耦合):把项目里面的类交给Spring管理,把这些对象成为组件,通过各个对象相互调用对象。
Spring中的组件:Spring管理的对象。把这些对象作为一个一个的组件拼装起来完成功能。
在这里插入图片描述

2. Spring

application.context
classpathcmlapplication
getbean—bean的id(Object) 类型的.class获取 id,类型的class对象(确定要获得那一个对象) 、
在这里插入图片描述
类的:相对路径 文件的:绝对路径

3. IOC控制反转

将自己对对象的控制权交给 程序本身(Spring)进行管理,需要的话去拿就行。不管是怎么具体创建对象的。

4. 依赖注入(给属性赋值)

通过property为对象赋值,即依赖注入的过程,两种注入方法:set注入(property)、构造器注入(必须要有相对应的构造方法)
在这里插入图片描述
比如car对象依赖于发动机对象、车饰对象…
依赖:创建一个完整的car对象需要依赖于其他对象
注入:赋值,依赖于谁就为谁赋值

5. IOC在Spring中的实现

在这里插入图片描述
在这里插入图片描述

6. 给bean的属性赋值

在这里插入图片描述
在这里插入图片描述
set注入-----property 即调用实体类中的setxxx方法为对象注入(赋值)

方式二:通过构造器构造对象,自动匹配到实体类中的构造方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 命名空间 指定能写进去的东西

在这里插入图片描述
引入p命名空间作用:直接通过P:id即可设置属性名
在这里插入图片描述

8. 可以使用的值

在这里插入图片描述

9. 内部bean

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 FactoryBean:对象工厂 工厂模式

SpringIoc用的就是工厂模式:不在乎工厂里面怎么创建对象的,需要对象就直接去工厂里面取。需要什么就去工厂里面取,不用关心如何加工的。
工厂模式:隐藏类创建对象的过程,通过工厂直接获得对象即可。
在这里插入图片描述

11.如果有单例的,Spring会在容器初始化的时候就把对象创建出来

单例:就这一个实例
多例:每用一次就要创建一个实例,所以在用到的时候才会创建。

12 bean生命周期

在这里插入图片描述

13 自动装配(赋值)

在这里插入图片描述
自动装配必须是非字面量属性,即必须使用ref的这种属性
如果用了bytype,会在整个spring容器中找,只要匹配就注入,缺陷…
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

14 通过注解配置 bean

在这里插入图片描述

15 使用注解标识组件(bean) 加上注解的类才是组件

由于注解是标识组件的,bean里面放的都是对象,所以注解都是标记在具体实现类上面的
不管怎么创建,都需要制定所属类。
如果想让Spring管理该类,就在该类上面加上注解。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用@Autowired注解进行自动类型装配:默认用bytype进行装配,如果不行,则会总byname进行装配。
在这里插入图片描述
在这里插入图片描述

16 基于注解的组件化管理

在这里插入图片描述
在这里插入图片描述

17 AOP(通过代理模式实现)

代理模式中的三个对象:原始对象、代理对象、目标对象(要去做的事情)

动态代理的作用:为任何需要代理的对象生成一个代理类,
------------------------不管目标对象是什么,都可以通过这样一个类生成相对应的代理对象帮助我去完成一系列功能。
更像是一个工具类,在任何情况下帮助我们生成一个代理对象。

在这里插入图片描述

18. 动态代理、静态代理

静态代理:代理对象是真实存在的,可以自己写一个类,让她作为代理对象
动态代理:通过某种方式为真正要实现的目标对象动态生成一个代理对象。
为什么要找代理对象,它可能比我实现的更好。

  1. 他知道你要实现什么功能
  2. 他知道该怎么实现这些功能
    3.在这里插入图片描述

AOP概述

1. 切面:存储公共功能(非业务代码)的类

将非业务功能抽取出来,放在一个类里面,通过动态代理的方式,再作用到上面
在这里插入图片描述

在这里插入图片描述
AOP和代理对象功能一样。AOP依赖于动态代理。

2. 动态代理特点

在这里插入图片描述
将非业务方法抽取出来放到一个类里面,但是这个类里面的方法应该什么时候执行?
用配置的方式告诉它
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SpringBoot

1. 将应用直接打包成一个可执行的jar包

在这里插入图片描述

2. why?

在这里插入图片描述
在这里插入图片描述

3. 主程序

在这里插入图片描述
在这里插入图片描述

ymal、yml

在这里插入图片描述
优点:少了很多标签。
在这里插入图片描述

druid

在这里插入图片描述

随机文件占位符

在这里插入图片描述

快速生成一个项目

在这里插入图片描述

注解

1. 配置文件值注入

@ConfigurationProperties

在这里插入图片描述
在这里插入图片描述

@bean

在这里插入图片描述

日志

在这里插入图片描述

视图解析器

在这里插入图片描述

在这里插入图片描述

整合基本JDBC与数据源

在这里插入图片描述
从maven仓库中找到druid数据源,在pom文件中引入。
在这里插入图片描述

整合MyBatis

在这里插入图片描述
在这里插入图片描述

分隔符。。。。。。。。。。

Web开发

步骤:
在这里插入图片描述
2. 选择自己需要的模块,SpringBoot会自动将这些场景配置好。
3. 编写业务代码。
在这里插入图片描述

错误

在这里插入图片描述

SpringMVC

处理请求返回试图

JDBC

1. DriverManager:驱动管理类—注册驱动、获得和数据库的连接

  1. 在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. Connection:与数据库连接对象

  1. 创建执行SQL语句的对象—用来执行SQL语句
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 管理事务
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. Statement:执行SQL、执行批处理

在这里插入图片描述

  1. 执行sql语句
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4. ResultSet

在这里插入图片描述
在这里插入图片描述

5. 增删改查

6. SQL注入漏洞

在这里插入图片描述

7. 事务管理的API,Connection

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Druid连接池

1. 阿里旗下开源连接池产品

在这里插入图片描述

2. 使用方式一

在这里插入图片描述
在这里插入图片描述
使用方式二:利用配置的方式
在配置文件中:
在这里插入图片描述

DBUtils

  1. 概述
    在这里插入图片描述
    在这里插入图片描述
    批处理:
    在这里插入图片描述

添加操作

在这里插入图片描述

ResultSetHandler

在这里插入图片描述
在这里插入图片描述

Web

在这里插入图片描述

JavaWEB

在这里插入图片描述

软件架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Web服务器comcat

1. 概述

在这里插入图片描述
在这里插入图片描述

HTTP协议

1. 协议:规定浏览器和服务器端的数据交互的格式。

2. 特点:

  1. 基于请求和相应模型(先请求,后响应,且必须成对出现)。

3. 版本

HTTP1.0 一次请求响应后断开
HTTP1.1 一直连接,除非请求一段时间没响应才会断开

4. 结构,请求头,请求体,post get

在这里插入图片描述

Servlet:处理客户请求,并对客户进行响应

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然后重写service()方法
在这里插入图片描述
在这里插入图片描述

ServletContext对象之获取web项目信息

在这里插入图片描述

Response对象

在这里插入图片描述
在这里插入图片描述
Response:关于响应行、响应头、

Cookie:

在这里插入图片描述
在这里插入图片描述

SpringBoot

配置文件

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值