【杂谈】Spring 核心总结

Java技术杂谈 线程安全 - 如果线程执行过程中不会产生共享资源的冲突,则线程安全。线程不安全 - 如果有多个线程同时在操作主内存中的变量,则线程不安全实现线程安全的三种方式1)互斥同步。 阅读详情

来自大佬的Spring实操与讲解盛宴

前言

Spring 是我们常用的后端框架之一,这不,最近小编身边的大佬浩哥给咱讲了一课Spring核心总结,俺在此将课件复刻一遍,当作笔记,分享,学习。

核心

Spring 的核心:IOC 控制反转, DI 依赖注入 和 AOP切面
作用:代码解耦

1. IOC

IOC:控制反转,获取对象的方式从自身的new/getInstance变成spring容器使用类构造器,使用静态工厂方法,使用实例工厂方法来创建对象,然后提供给我们的程序使用。

实现步骤:
(1)添加依赖
在这里插入图片描述
(2)创建application.xml文件
在这里插入图片描述
(3)在.xml文件中使用标签来创建bean对象
在这里插入图片描述
注意:标签中给该bean对象中的属性设置值的时候,如果该属性是引用类 型,则ref执行的是一个另外一个bean对象的id属性值, 如上图就指向的是id为BookDao的bean对象(映射关系)

(4)代码中如果需要设置该bean的属性的属性值,则需要提供一个setter方法:
在这里插入图片描述
(5)测试
在这里插入图片描述
注意:在获取IOC容器对象的时候除了ClassPathXmlApplicationContext(.xml文件名)方法 外,还可以通过下面方式,但是通常用的是第一种方式
在这里插入图片描述
同时:在获取容器中创建的对象除了IOC对象.getBean(.xml文件中标签的id属性 值)之外,还可以通过IOC对象.getBean(要创建bean对象的类.class)

2. DI

DI:依赖注入,Java Bean对象的Set方法或者带参数的构造方法为我们在创建所需对象时将其属性自动设置所需要的值的过程。

依赖注入的方式:
(1)使用有参构造器注入,
(2)使用setter方法注入
(3)使用Field字段注入方式,该方式是spring2.5以后提供的基于java 注解 (annotation)方式的注入,就是在java中的字段上或者setter方法上通过使用注解方式进行spring的依赖注入

实现步骤:
(1)有参构造器注入
在这里插入图片描述
注意:如果bean对象中的属性名称与中的name的属性值不对应,就会报错,所以使用有参构造注入的耦合比较高,一般我们不会使用此方式进行依赖注入,这是引用类型的依赖注入,下面的截图是基本类型的依赖注入的方式

在这里插入图片描述
(2)使用java bean 对象的setter方法进行依赖注入
在这里插入图片描述
注意:这是引用类型的setter依赖注入,如果是基本类型,这只需要将标签中的ref改为value即可
如果是对集合list,数组array,集合set注入值,可以通过下面方式进行依赖注入,只需要将标签中的换成或者即可
在这里插入图片描述
如果是对map进行依赖注入,则参照下图
在这里插入图片描述
(3)使用Field字段注入,在后面的注解会指明

导入spring的坐标依赖:
在这里插入图片描述
创建application.xml文件并配置:
在这里插入图片描述
在这里插入图片描述
在bean对象的类上添加注解@service,@controller,@repository,@Component,注意前面三个注解都是@component注解的衍生注解,是为了区别每个类
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
纯注解开发定义bean,可以将注解开发定义bean中的第二步,第三步通过如下步骤进行替代
在这里插入图片描述
在这里插入图片描述
纯注解bean的生命周期
在这里插入图片描述
在这里插入图片描述
总结:.xml与注解开发的区别:
在这里插入图片描述

3. AOP

Aop的作用:在不修改原代码的情况增强功能
Aop核心概念:
1.连接点:所有的方法叫连接点
2.切入点:被追加功能的方法,就叫切入点
3.通知:实现追加共性功能的方法
4.切面:切入点与通知的连接的关系,叫切面
5.通知类:存放追加共性功能的方法的类

实现步骤:
导入aspect的坐标依赖:
在这里插入图片描述
创建aop包并创建通知类
在这里插入图片描述
在springConfig类上添加@EnableAspectJAutoProxy注解:
在这里插入图片描述

测试:
在这里插入图片描述

从多项式到神经网络:DPD算法演进史及其在RRU中的工程实现 本文系统梳理了数字预失真(DPD)算法从经典多项式模型、查表法到神经网络驱动的演进历程,并深入探讨了其在基站射频单元(RRU)中面临的硬件资源约束与工程实现挑战。文章为通信设备的技术决策者提供了算法选型、性能权衡及混合架构设计的实用评估框架,助力在性能、功耗与成本间找到最优平衡。 阅读详情

相关推荐

AtmelStudio 7 ASF库学习笔记一:新建工程、配置时钟、下载程序和查看官方例程

由于需要学习一下atmel的atsaml 系列,使用AtmelStudio 7开发,之前主要用STM32,现在看到Atmel的库函数,其实是有些类相似的。 ASF3的库对应ST的标准库。ASF4对应ST的HAL库,Ateml Start对应STM32CubeMX。但在这里还是用ASF3来开发,因为Ateml Start还不支持我的这个芯片,而且和STM32的HAL库类似,ASF4为了好移植都是底...

yxy244的博客 8658

Spring security深入杂谈

spring security 是一个用于身份验证和访问控制的成熟框架,主要用于web的url访问,当然她也可以用于更加细粒度的访问控制(方法控制)但前者更具普遍意义,本文论述前者。 一 Quick start,一个简单的例子 step1: 在web.xml中添加spring security的代理filter。 springSecurityFilterChain

pushme_pli的专栏 1万+

Keil v5.11给STM32烧录程序记录

1)安装KeilMDK511 2)安装ST Link下载器驱动 3)打开Keil v5,加载工程文件 4)load pack(Keil.STM32F1xx_DFP.1.1.0和Keil.STM32F0xx_DFP.1.2.0) 5)编译程序- 0 Error(s), 0 Warning(s). 6)烧录程序 ...

守望的距离 6282

spring打杂谈

Spring事务原理2006年6月23日,15:35:00 | Dragonofson统观spring事务,围绕着两个核心PlatformTransactionManager和TransactionStatus spring提供了几个关于事务处理的类: TransactionDefinition //事务属性定义TranscationStatus //代表了当前的事务,可以提交

快乐就好 976

计算机网络-自顶向下方法 第三章课后习题答案(第七版)

复习题 R1. a) 就叫这个协议为简单传输协议STP(Simple Transport Protocol)。在发送方,STP从发送进程接收不超过1196字节的数据块、目标主机地址和目标端口号。STP向每个块添加一个4字节的头,并将目标进程的端口号放在头中。STP然后将目标主机地址和结果段提供给网络层。网络层将段交付给目的地主机的STP。目的主机基于STP检查段中的端口号,从段中提取数据,并将数据传递给由端口号标识的进程。 b) 在发送方,STP从发送进程接收不超过1192字节的数据块、目标主机地址和目标端

Erekilu的博客 2万+

AMS TMF8820/21/28 SPAD 掩码和模式选择

为了实现最快的测距周期,将报告周期设置在测距周期以下的毫秒,以确保不会有等待时间。除了8X8固定了pixel的位置意外,其他模式客户可以设计自己的spad掩码,并将spad单独分配给通道。对于这些spad掩码,有一些约束。左下角提示红色代表光学中心,绿色方框表示单个spad,每个MP里可能有2X3个spad,也有2X5个spad,也有3X6+3个spad,这部分适配光学,最大的程度的利用spad区域。以下是几种预定义的spad掩码,非常灵活的配置,来适配各种3X3,4X4,8X8的模式选择。

dream it possible 701

Spring杂谈(全面的总结)

前言: 最近一直在学习spring,写这篇文章的目的出于对近期所学做一个总结,最主要的也是希望让大家重新认识下spring.讲到spring大家都会想到Ioc.,Ioc字面意思是控制反转。不知道大家小时候有没有一个习惯遇到不认识的单词先查新华字典。其实当我们遇到不认识的语句时可以查查维基百科英文版,看看它给出的解释.下面是维基百科对Ioc的解释。 Insoftware engineering,inversion of control(IoC) is a programming principle....

dajunstan的博客 216

知识图谱:综述

第一种理解:知识图谱本质上是语义网络。本体论是语义网络中最重要的一个要素。第二种理解:知识图谱也叫做多关系图,由多种类型的节点和多种类型的边组成。课程以第二种理解为主。

u013250861的博客 480

Spring杂谈一

Spring

qq_39786781的博客 192

使用Simulink对液流电池在微电网中的动态响应进行建模与仿真

本文介绍了使用Simulink对液流电池在微电网中的动态响应进行建模与仿真的方法。通过搭建包含液流电池、双向DC-DC变换器、分布式能源和负载的微电网模型,并设计基于SOC的控制器,详细说明了从模型创建到仿真运行的完整流程。重点分析了液流电池在不同负载条件下的动态特性,评估了系统响应速度、充放电效率和稳定性等性能指标。该仿真方法为验证液流电池在微电网中的应用提供有效工具,有助于优化参数设计和提升系统可靠性。

amy_mhd的博客 136

CVE-2021-3156本地提权漏洞复现

受影响版本 sudo: 1.8.2 - 1.8.31p2 sudo: 1.9.0 - 1.9.5p1 测试 我这里是在本地centos7上进行测试。 需要目标机器上存在python编译器、目标主机出网或者能上传文件到目标主机。 以非root用户登录系统,并运行如下命令: sudoedit -s / 通常响应一个以 sudoedit: / 开头的报错,多半存在漏洞。 利用 提权脚本: https://www.o2oxy.cn/wp-content/uploa

The current road is different, love needs to distinguish between right and wrong 3782

Spring 拾枝杂谈—Spring原生容器结构剖析(通俗易懂)

Spring 第一节 拾枝杂谈 分析Spring底层容器。

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 1812

lammps构建高熵合金模型+结构优化初步筛选能量最小的结构

lammps构建高熵合金模型+结构优化初步筛选能量最小的结构

qq_45834835的博客 2605

Spring的IOC与DI的个人杂谈

Spring-DI和IOC容器 前言 初学者初学Spring框架的时候,往往是伴随着SSM三大框架的整合使用而去学习的。但是这样是不好的,我们应该在任务之余去学习一些本框架一些核心的知识点。 本篇文章便是给大家简单讲解一下Spring的核心之一:IOC(控制反转)和DI(依赖注入)。 参考文章 2020spring面试题 思考问题 为什么很多框架都需要Spring来整合? spring在框架内部是一个什么样的作用? 如果没有spring可以使用其他的框架吗? Spring的结构图解 spring

一名假人的博客 250

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Spring 杂谈

Spring主要内容大纲如下:概述、依赖注入、Beans、注解、对象访问、面向切面编程、MVC框架。

alee309027009的博客 257

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

一、Spring框架的学习杂谈

一、Spring公司的有很多项目,但是我们平常所说的Spring框架指的是Springframework,可以查看官网来具体查看 添加链接描述 二、Bean和对象的区别:Bean一定是对象,而对象不一定是Bean,从对象到Bean的过程就是Bean的生命周期; 三、SpringIoc容器的初始化和依赖注入的过程,Bean的定义和初始化在SpringIoC容器中分为差两个步骤:1)先定义2)初始化和...

qq_34446716的博客 221

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

spring杂谈(1)

spring源码 参观工厂内部,学会找入口 IOC 1、定位资源(定位查找配置文件) 2、加载(已经找到配置文件) 3、注册(已经记载好配置文件解析出来,并封装成BeanDefintion) 对于bean的说明而已,bean还没真正的产生 spring中do开头的都是干活的 beanFactory和FactoryBean: 写在后面的是主语, 是由spring工厂生产出的bean,所以叫Facto...

待到山花烂漫时 270

Spring MVC 杂谈

springMVC源码杂谈

lilei_ndsc的博客 439

spring杂谈(2)

AOP编程,由Factory执行动作,IOC容器,肯定用了抽象工厂模式,默认实现,spring-aop 他是以spring-beans这个包作为依赖的,因为IOC容器中存放的就是Factorybean AOP工厂生产出来的bean是而言放入到IOC容器中去的 看源码最关键的是找到入口,也就是从Factory入手的,找到一个getBeab的方法 上面这个方法就是用来获取一个代理以后的bean,跟I...

待到山花烂漫时 400

从根儿上学习spring一 之杂谈

从根儿上学习spring

baidu_19338587的博客 594

Java杂谈---Spring篇(1)

前言 之所以写Java杂谈就是想通过博客记录自己的学习的感悟和自己的理解,今天谈谈Spring 的 IOC和AOP 一、Spring是什么? Spring是一种轻量级框架,可以说Java EE的春天,是当前主流框架,它可以使现有技术更加易用,推进编码最佳实践。 它的设计理念是面向Bean的编程。 二、Spring的优点 1、低侵入式设计 2、独立于各种应用服务器 3、依赖注入特性将组件关系透明化,降低了耦合度 4、面向切面编程特性允许将通用任务集中式处理 5、与第三方框架的良好整合 三、Spring两大

Jarvislove的博客 924

SpringMVC、Spring、Mybatis杂谈

Mybatis笔记2Mybatis 的优缺点?优点缺点Mybatis 的 XML 文件有哪些标签属性?Mybatis的一级缓存Mybatis的二级缓存#{}和${} Mybatis 的优缺点? 优点 SQL写在XML配置文件中,便于统一管理; 提供了很多插件(分页插件/逆向工程),并与Spring有很好的集成; 提供XML,支持动态SQL 提供映射标签,支持对象与数据库的ORM字段关系映射。 提供对象关系映射标签,支持对象关系组建维护。 缺点 SQL编写量巨大 SQL依赖于数据库 Mybatis 的

yyn次元的专栏 245

spring杂谈

在spring核心配置文件中引入其他的spring配置文件。spring是用的双重判断加锁的单例模式。spring中额八大模式。

2201_75595843的博客 104

Java杂谈(十)--Spring

 Java杂谈(十)--Spring                笔者最近比较忙,一边在实习一边在寻找明年毕业更好的工作,不过论坛里的朋友非常支持小弟继续写,今天是周末,泡上一杯咖啡,继续与大家分享J2ee部分的学习经验。今天的主题是目前很流行也很好的一个开源框架-Spring。                   引用《Spring2.0技术手册》上的一段话:            

wxexplorer的专栏 634

Spring事务杂谈

1. 什么是事务 事务就是以一种可控的方式,对资源进行的一组操作,保证了资源在事务前后,始终应处于被期待的正确的状态。比如不会受到宕机等原因的影响。事务本身,具有如下4种属性-ACID。(所以说事务是酸的ww) 原子性(A)原子性的描述很简单,就是要么都做,要么都别做。比如转账业务,A向B转100元。首先要从A账户扣掉100,再给B的账户加上100,可能中间会出现问题,只扣A的了没给B加上,这...

weixin_30241919的博客 173

Spring杂谈:什么是ObjectFactory?什么是ObjectProvider?

推荐学习 肝了十天半月,献上纯手绘“Spring/Cloud/Boot/MVC”全家桶脑图 全网首发!马士兵内部共享—1658页《Java面试突击核心讲》 ObjectFactory 接口定义 // 一个对象工厂 public interface ObjectFactory<T> { // 返回一个对象 T getObject() throws BeansException; } 这个接口的定义非常简单,就是一个对象工厂,定义了一个返回对象的工厂方法。回顾

m0_67645544的博客 288
上一篇: 【杂谈】刷刷 LeetCode SQL 入门查询
下一篇: 【杂谈】SQL 杂录: 如何模糊查询表里不存在的字段
CoderSharry
博客等级 码龄4年 515粉丝 69原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值