SSM—【笔记】1.1Spring

Spring好处

  • 简化开发,降低企业级开发的复杂性
  • 框架整合,高效整合其他技术,提高企业级应用开发与运行效率

简化开发:1、IoC、2、AOP[2.1衍生出事务处理 ]

框架整合:MyBatis、Mybatis-plus、Struts、Struts2、Hibernate …

Spring Framework系统架构

在这里插入图片描述

Service是业务层,Dao是数据访问层

Dao层:全称为data access object(数据访问对象),属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查

Service层:被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。

Service层去调用Dao层,这样做的最大好处就是:解耦。

一、核心容器

核心概念(IoC / DI)

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

容器基本操作

在这里插入图片描述

(一)、bean

1、bean基础配置

在这里插入图片描述

2、bean别名配置

即定义多个名称
在这里插入图片描述

3、bean作用范围配置

控制bean创建的时候实例的数量,一个还是多个

在这里插入图片描述

4、bean实例化

创建bean的三种方法

(1)构造方法(2)静态工厂(3)实例工厂与FactoryBean

eg:(1))构造方法

在这里插入图片描述

eg:(2)静态工厂

在这里插入图片描述

eg:(3)实例工厂与FactoryBean
在这里插入图片描述
实例工厂的演进
在这里插入图片描述

5、bean生命周期

(1)概念:

在这里插入图片描述

(2)生命周期经历的阶段:

在这里插入图片描述

(3)生命周期控制有两种格式:

1、配置的格式;2、接口的形式(了解)
在这里插入图片描述在这里插入图片描述

bean销毁时机
在这里插入图片描述

(二)依赖注入

1、依赖注入方式

有2x2中方式

在这里插入图片描述

(1)setting注入

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

(2)构造器注入

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

(3)依赖注入方式选择

在这里插入图片描述

(4)依赖自动装配

种类:
在这里插入图片描述

eg:按类型分配
在这里插入图片描述

(5)集合注入

无需记,配置文件打个<根据提示写

2、加载properties文件

步骤:
在这里插入图片描述

格式:
在这里插入图片描述

(三)容器

1、创建容器(2种)

在这里插入图片描述

2、获取bean(3种)

在这里插入图片描述

3、容器类层次结构

在这里插入图片描述

4、BeanFactory

在这里插入图片描述

核心容器总结

容器相关
在这里插入图片描述

bean相关
在这里插入图片描述

依赖注入相关
在这里插入图片描述

(四)注解开发

1、注解开发定义bean

用法
在这里插入图片描述

衍生注解语法:
在这里插入图片描述

2、纯注解开发

(老子一点配置文件都不写了(其实是使用Java类替代配置文件))
在这里插入图片描述

3、注解开发bean作用范围与生命周期

在这里插入图片描述

4、注解开发依赖注入

注解开发没有set、构造方法依赖注入方法,只有自动装配。

@Autowired:解决引用类型注入
@Qualifier:指定bean的id或名称
@Value:注入简单类型(值类型)<img
在这里插入图片描述
在这里插入图片描述

@PropertySource:加载外部配置文件
在这里插入图片描述

5、注解开发管理第三方bean

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

6、注解开发实现第三方bean注入资源

在这里插入图片描述

bean管理:小结
在这里插入图片描述

总结

在这里插入图片描述

二、整合

1、Spring整合MyBatis·

写法的转换
两个Bean要配置:SqlSessionFactoryBean、MapperScannerConfigurer

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

2、Spring整合JUnit

在这里插入图片描述

三、AOP

1、核心概念

AOP:面向切面编程,一种编程范式,指导开发者如何组织程序结构00P面向对象编程
作用:在不惊动原始设计的基础上为其进行功能增强

方法称作通知,这个类称作通知类
切面:在哪个切入点上执行哪个通知
在这里插入图片描述在这里插入图片描述

案例(注解版):

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

2、AOP基本操作

(1)工作流程

在这里插入图片描述

SpringAop本质:代理模式

(2)AOP切入点表达式

语法格式:
在这里插入图片描述

通配符
在这里插入图片描述

书写技巧(不用背,写的过程体会,如何更高效)
在这里插入图片描述

3、AOP通知类型

在这里插入图片描述

eg:
在这里插入图片描述

⭐️重点:
在这里插入图片描述

4、AOP通知获取数据

在这里插入图片描述

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

5、AOP总结

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

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

四、事务

1、简介

在这里插入图片描述

2、事务属性

事务相关配置
在这里插入图片描述

事务传播行为
在这里插入图片描述

五、家族

SpringMVC

SpringBoot

SpringCloud

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/4812.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android开发-Android常用组件-ToggleButton开关按钮 Switch开关

4.7 开关按钮ToggleButton和开关Switch 1.开关按钮ToggleButton 属性名 说明 android:disabledAlpha 设置按钮在禁用时的透明度 android:textOff 按钮没有被选中时显示的文字 android:textOn 按钮被选中时显示的文字 另外&#xff0c;除了这个我们还可以自己写个 selec…

Spring Cloud之一:注册与发现-Eureka工程的创建

系列目录&#xff08;持续更新。。。&#xff09; Spring Cloud&#xff1a;什么是微服务 Spring Cloud之一&#xff1a;注册与发现-Eureka工程的创建 Spring Cloud之二&#xff1a;服务提供者注册到Eureka Server Spring Cloud之三&#xff1a;Eureka Server添加认证 Spr…

SpringBoot(3)整合Mybatis

文章目录一、导入依赖二、编写配置文件三、在启动类上添加注解&#xff0c;表示mapper接口所在位置四、定义mapper接口五、定义mapper.xml映射文件六、service层七、controller层八、修改idea检查代码的严格程度一、导入依赖 <dependency><groupId>org.mybatis.spr…

华为OD机试题,用 Java 解【新员工座位安排系统】问题 | 含解题说明

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典本篇题目:新员工座位安排系统 题目 工位…

Ganache 安装

一. 下载Ganache Ganache下载链接 根据系统选择对应安装文件 或者brew安装 brew install --cask ganache 二.打开app 点击quickstart 点击save按钮&#xff0c;保存workspace&#xff0c;此时已启动对应端口为7545 三.打开truffle项目&#xff0c;设置配置文件 我已初始化…

华为OD机试题,用 Java 解【卡片组成的最大数字】问题 | 含解题说明

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典本篇题目:卡片组成的最大数字 题目 小组…

大数据分析工具Power BI(七):DAX使用场景及常用函数

DAX使用场景及常用函数 Power BI中DAX函数非常多,功能非常强大,下面结合一些实际场景来讲解DAX一些常用的函数,这些场景包含求和、计数、相除、排序、累计、环比、同比,为了更方便后续的可视化展示数据,我们新创建可视化展示的页面,创建一个新表存储后续展示的度量值,具…

iptables-ipset仅允许国内访问---端口白名单

前言&#xff1a;境外肉鸡攻击有点多&#xff0c;并业务无境外访问需求&#xff0c;IDC机房网络防火墙无法实现8K多条的china大陆地址导入&#xff1b;为实现仅china大陆地址访问&#xff0c;在业务端口如这里的80&#xff0c;使用iptables防火墙ipset过滤实现访问控制,对于访问…

HttpMessageConverter

基本介绍 我们进行Web开发&#xff0c;但是前端传入的 JSON 数据到底是如何被解析成 Java 对象作为 API入参的&#xff0c;后端返回的结果又是如何把 Java 对象解析成 返回给前端的&#xff0c;在整个数据流转的过程中&#xff0c;这些工作都是由谁来完成的呢&#xff1f; 从…

【UML建模】类图 类与接口表示方式、关系、基数详解

文章目录1.概述2.类的表示方式2.1.类与接口2.2.属性、方法、访问权限3.类之间的关系3.1.继承与实现3.2.关联、聚合、组合3.2.1.用代码表达关联关系3.2.2.用代码表达组合关系3.2.3.用代码表达聚合关系3.3.依赖3.3.1.依赖关系的代码实现4.基数5.总结1.概述 在我们的日常学习、工…

斐波拉契数列,有人买了一对小兔子,已知小兔子一个月后长成大兔子,大兔子每个月生一对小兔子,问:两年(24个月)之后,他一共有几对兔子。

[01]斐波拉契数列&#xff0c;有人买了一对小兔子&#xff0c;已知小兔子一个月后长成大兔子&#xff0c;大兔子每个月生一对小兔子&#xff0c;问:两年(24个月)之后&#xff0c;他一共有几对兔子。 第i月份大兔子小兔子总兔子1011210131124213532565387851381382192113341034…

Qt 正则表达式匹配失败的一个原因

在Qt中做正则表达式时&#xff0c;遇到一个很坑爹的问题&#xff0c;还是经验不足导致。 在正则表达式中&#xff0c;有很多需要元字符&#xff0c;是需要使用普通字符加转义符号搭配使用的。比如\w&#xff0c;\s。对于这类字符&#xff0c;在Qt中使用时&#xff0c;对\再次进…

Prometheus监控实战系列二十:监控Kubernetes集群(下)

本文承接上篇&#xff0c;在本篇中我们会讲解Prometheus如何应用基于Kubernetes的服务发现功能&#xff0c;检索目标信息并进行监控。 在监控策略上&#xff0c;我们将混合使用白盒监控与黑盒监控两种模式&#xff0c;建立起包括基础设施(Node)、应用容器&#xff08;Docker)、…

【新】(2023Q2模拟题JAVA)华为OD机试 - 时间格式化

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:时间格式化 题目 运维工程师…

(一)人工智能应用--深度学习原理与实战--初识深度学习

认识人工智能、机器学习与深度学习的关系 人工智能(Artificial IntelLigence)诞生于20世纪50年代,其简洁定义为:让计算机自动完成通常由人类完成的智力任务。人工智能是一个综合性领域。最早期出现的预定义规则的专家系统(Expert System) -----由程序员精心设计出明确的规则…

Flink从入门到精通之-05 DataStream API

Flink从入门到精通之-05 DataStream API 我们在第 2 章介绍 Flink 快速上手时&#xff0c;曾编写过一个简单的词频统计&#xff08;WordCount&#xff09;程序&#xff0c;相信读者已经对 Flink 的编程方式有了基本的认识。接下来&#xff0c;我们就将开始大量的代码练习&…

基于springboot实现学生成绩管理系统【源码+论文】

16springboot学生成绩管理系统演示录像2022_o8mkp开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Mav…

AirServer手机投屏软件的功能优势特点介绍

AirServer是适用于Mac和PC的先进的屏幕投屏软件&#xff0c;功能是十分强大。它的主要功能在于实时地将移动设备上的图像画面内容投放到电脑设备上&#xff0c;让电脑成为iPad、iPhone等iOS系统设备的大屏显示器。在设备之间建立局域网内的信号发送与接收通道&#xff0c;确保数…

细谈linux软硬链接

文章目录Ⅰ. 软链接Ⅱ. 硬链接1、硬链接2、硬链接数Ⅲ. 软硬链接的区别Ⅳ. 软硬链接的应用1、软链接的应用2、硬链接的应用3、硬链接创建规定Ⅰ. 软链接 ​ 在讲这些链接之前&#xff0c;我们都会先讲如何创建它们&#xff01; ​ 对于软连接&#xff0c;在 linux 中&#xf…

python matplotlib 图片显示中文

在Linux 环境中&#xff0c;使用matplotlib 显示中文时&#xff0c;总是提示&#xff1a; /python/stock.py:273: UserWarning: Glyph 33647 (\N{CJK UNIFIED IDEOGRAPH-836F}) missing from current font. fig.savefig(self.name ".jpg", bbox_inches tight) …