【Spring4(二)】IOC注解&AOP

Spring IOC容器中添加bean的几种方式(注解) Spring 注解驱动开发(使用) 一. 注册bean的几种注册方式 1. 通过包扫描(ComponentScan)+注解(@component/@Controller…) ComponentScan 常用属性 basePackages 指定包路径 在指定路径下的带有 @component/@Controller… 注解的类都会被加载进ioc 容器 includeFilters 包含规则... 阅读详情

Spring 的IOC 的注解开发(*****)

Spring的IOC的注解开发的入门

创建web项目,引入jar包

  • 在Spring4的版本中,除了引入基本的开发包以外,还需要引入aop的包。
    在这里插入图片描述

引入Spring的配置文件

  • 在src下创建一个ApplicationContext.xml
    • 引入约束:使用注解开发需要引入context约束。
    • 约束:spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html\xsd-configuration.html
      在这里插入图片描述

创建接口和实现类

开启Spring的组件扫描

在这里插入图片描述

在类上添加注解

在这里插入图片描述

编写测试类

在这里插入图片描述

注解方式设置属性的值

  • 注解方式:使用注解方式,可以没有set方法的。
    • 属性如果有set方法,需要将属性注入的注解添加到set方法
    • 属性如果没有set方法,需要将属性注入的注解添加到属性上。
      在这里插入图片描述

Spring IOC注解的详解

@Component:组件

  • 修饰一个类,将这个类交给Spring管理。
  • 这个注解有三个衍生注解(功能类似)
    • @Controller:web层
    • @Service:service类
    • @Repository:dao层

属性注入的注解

  • 普通属性
    • @Value:设置普通属性的值
  • 对象类型属性
    • @Autowired:设置对象类型的属性的值,但是按照类型完成属性注入。
      • 我们习惯是按名称完成属性注入:必须让@Autowired注解和@Qualifiter一起使用完成按照名称属性注入。
    • @Resource:完成对象类型的属性的注入,按照名称完成属性的注入。

Bean 的其他的注解

  • 生命周期相关的注解(了解)
    • @PostConstruct:初始化方法
    • @PreDestroy:销毁方法
  • Bean的作用范围的注解
    • @Scope:作用范围
      • singleton:默认单例
      • prototype:多例
      • request
      • session
      • globalsession

IOC 的 XML 和注解开发的比较

XML 和注解的比较

  • 适用场景
    • XML:可以适用任何场景
      • 结构清晰,维护方便。
    • 注解:有些地方用不了,这个类不是自己提供的。纯注解(SSH)
      • 开发方便。

XML 和注解整合开发

  • XML 管理Bean,注解完成属性注入。

Spring 的 AOP 的XML开发(*****)

AOP 的概述

在这里插入图片描述

AOP:面向切面编程。AOP是OOP的扩展和延伸,解决OOP开发遇到的问题。
在这里插入图片描述

Spring 底层的 AOP 实现原理

  • 动态代理
    • JDK动态代理:只能对实现了接口的类产生代理。
    • Cglib动态代理(类似于Javassist第三方代理技术):对没有实现接口的类产生代理对象,生成子类对象。

Spring 的 AOP 底层实现(了解)

JDK 动态代理

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

Cglib 动态代理

  • Cglib:第三方开源代码生成类库,动态添加累的属性和方法。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Spring 的 AOP 的开发(AspectJ 的 XML 的方式)

Spring AOP 的简介

  • AOP 思想最早是由AOP联盟组织提出的,Spring使用这种思想最好的框架。
    • Spring 的AOP有自己实现的方式(非常繁琐)。AspectJ是一个AOP的框架,Spring引入AspectJ作为自身AOP的开发。
    • Spring 有两套AOP开发方式
      • Spring 传统方式(弃用)。
      • Spring 基于AspectJ的AOP的开发(使用)。

AOP 开发中相关术语

在这里插入图片描述

Spring 的 AOP 的入门(AspectJ 的 XML 的方式)

创建 web 项目,引入 jar 包

  • 引入6个基本开发包
    在这里插入图片描述
  • 引入 aop 开发的相关 jar 包
    在这里插入图片描述

引入 Spring 的配置文件

  • 引入 AOP 的约束
    在这里插入图片描述

编写目标类并完成配置

在这里插入图片描述

编写测试类

  • Spring 整合 Junit 单元测试
    在这里插入图片描述

编写一个切面类

  • 编写切面类
    在这里插入图片描述
  • 将切面类交给 Spring
    在这里插入图片描述

通过 AOP 的配置实现

在这里插入图片描述

Spring 中通知类型

前置通知:在目标方法执行之前进行操作

  • 前置通知:获得切入点信息
    在这里插入图片描述

后置通知:在目标方法执行之后进行操作

  • 后置通知:获得切入点信息、方法的返回值
    在这里插入图片描述

环绕通知:在目标方法执行之前和之后进行操作

  • 环绕通知可以组织目标方法的执行
    在这里插入图片描述

异常抛出通知:在程序出现异常的到时候,进行的操作

在这里插入图片描述

最终通知:无论代码是否有异常,总会执行。

在这里插入图片描述

引介通知(不用会)

Spring 切入点表达式写法

切入点表达式语法

  • 基于 execution 的函数完成的
  • 语法
    • [访问修饰符] 方法返回值 包名.类名.方法名(参数)
    • public void com.itheima.spring.CustomerDao.save(…)
    • * *.*.*.*Dao.*.save(..)
      
    • * com.itheima.spring.CustomerDao+.save(..)
      
    • * com.itheima.spring..*.*(..)
      

在这里插入图片描述

【Spring】注解实现IOC操作,你理解了吗? 前面讲解了IOC的基本概念以及操作演示,但是spring配置文件较多,操作起来相对麻烦。今天我们使用注解来操作实现IOC的功能。基于注解式开发spring,相对来说比较少,但是理解这些注解的作用,会对后面学习spring boot产生比较大的影响。所以还是应该重视一下,多用多做就能掌握啦。今天的分享到此结束,我是狮子,希望可以帮到您。 阅读详情

相关推荐

springAOP所依赖的jar包

springAOP所依赖的jar包:aopalliance-1.0,aspectj-1.7.3,aspectjweaver-1.7.4,cglib-nodep-2.1_3

spring注解驱动-@Autowired

* 1. @Autowired:自动注入: * 1.默认优先按照类型去容器中找对应的组件,如果找到多个,则按照属性名作为组件 的 id 去容器中查找 * 2.@Qualifier:使用@Qualifier指定需要装配的组件ID,而不是属性名 * 自动装配默认一定要将属性赋值好,没有就报错。 * 可以使用 @Autowired(required=false) * 3.@Primary:让spring 进行自动装配的时候,默认使用首选的Bean * 也可以继续使用@Qualifier指定需要装.

坤的博客 280

MATLAB打开.m文件乱码解决办法

Matlab打开.m文件出现中文乱码问题,是因为Matlab存在两种编码格式:GBK和UTF-8,而不同版本的Matlab编码格式可能不统一,因此在不同版本的Matlab打开文件,由于编码格式的改变,会导致注释乱码。 1.查看你的Matlab的文件编码方式,在Matlab的命令行窗口输入feature('locale') ,如下图,可以看到默认编码为GBK,那问题就变成了将Matlab的文件编码方式GBK修改成UTF-8; 2.找到你的Matlab安装目录bin文件夹下的lcdata_utf.

zhugby的博客 4万+

Spring

spring的入门与依赖注入

venus321的博客 355

vfsglobal预约系统登录问题全解析(by quqi99)

本文全面解析VFS Global预约系统登录常见问题,包括IP限制、验证码验证失败及账号自动删除等。提供详细的解决方案,如DNS配置、浏览器设置及邮箱选择建议,帮助用户顺利完成签证预约。特别针对中国用户遇到的IP限制问题,给出了实用技巧。

gamma的博客 1340

Verilog十大基本功2(testbench的设计 文件读取和写入操作 源代码)

需求说明:Verilog设计基础 内容       :testbench的设计 读取文件 写入文件 来自       :时间的诗 十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应。 端口分为 input,output 和 inout 类型产生激励信号的时候, input  对

时间的诗 5万+

Spring-04——【Spring的注解使用】

文章目录8、使用注解开发1、bean2、属性值注入3、衍生的注解4、自动装配5、Bean的作用域6、小结 8、使用注解开发 注意: 在spring4之后、要使用注解开发、必须要保证aop的jar包导入 还有使用注解开发需要引入context约束、开启注解支持 在使用注解前需要在applicationContext.xml中添加开启注解、和扫描指定包下的注解生效 <!-- 扫描指定包下的注解生效 --> <context:component-scan base-package

weixin_44432069的博客 245

自动驾驶仿真(五)—— 基于Carsim、Prescan、Simulink的联合仿真

自动驾驶仿真五——基于Carsim、Prescan、Simulink的联合仿真1. 联合仿真流程2. CarSim联合仿真配置要点3. Prescan联合仿真配置要点4. Carsim、Prescan、Simulink联合仿真结果5. 参考学习的书目教材 博主前面的博文已经介绍了Carsim和Prescan各自与Matlab/Simulink的相关联合仿真应用实例,并且论述过几款软件各自的优势及用法,CarSim适合动力学模型的建立,PreScan适合行车场景的搭建,Simulink适合控制算法的设计及信号

zhudj08的博客 1万+

Spring-IoC-注解篇

Spring-IoC-注解篇注解驱动开发常用注解@Configuration示例@ComponentScan示例@Bean示例@Import示例@PropertySource说明示例注解驱动开发之注入时机和设定注入条件的注解@DependsOn示例@Lazy示例@Conditional说明示例用于创建对象的注解@Component和三个衍生注解说明用于注入数据的注解@Autowired说明@Qualifier说明@Resource说明@Value说明@Inject@Primary和生命周期以及作用范围相关的

输入技术、输出想法 1460

步进电机驱动算法——梯形加减速算法

目录步进电机梯形加减速梯形加减速算法原理分析算法实现 步进电机梯形加减速 电机的控制方式一般分为开环控制与闭环控制两种控制方式,其中开环控制原理框图如下: 这种种控制方式的特点是:控制简单、实现容易、价格较低,这种开环控制方式,负载位置对控制电路没有反馈。 对于步进电机,控制脉冲的输入并不依赖于转子的位置,而是按一固定的规律发出控制脉冲,如果励磁变化太快,电机不能移动到新的位置,那么实际负载位置与理想位置就会产生一个偏差,就有可能出现失步或者过冲现象,所以需要使用加减速算法。 梯形加减速算法,S加减速算法等

aaa376070331的博客 3万+

Cadence psspxf实战:手把手教你仿真250MHz环形VCO的电源抑制比(附Verilog代码)

本文详细介绍了使用Cadence psspxf仿真器对250MHz环形VCO的电源抑制比(PSRR)进行仿真的全流程。从环形VCO的设计原理、Verilog代码实现,到Cadence环境配置、仿真参数设置,再到结果分析与优化技巧,提供了完整的实战指南。特别适合电路设计工程师学习如何评估和优化VCO的抗电源噪声能力。

weixin_42567752的博客 414

03. SpringIOC的注解应用

03SpringIOC的注解应用 ​ 在之前的项目中,我们都是通过xml文件进行bean或者某些属性的赋值,其实还有另外一种注解的方式,在企业开发中使用的很多,在bean上添加注解,可以快速的将bean注册到ioc容器。 1、使用注解的方式注册bean到IOC容器中 applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schem

weixin_48377011的博客 480

第1章 环境准备

本章是 Kubernetes 高可用集群部署的前置基础环境配置,所有节点必须严格按顺序执行。主要内容包括:节点规划(IP、角色、配置要求)、VMware 克隆节点环境清理(解决 MAC 地址和主机名冲突)、统一工作目录创建、主机名与 hosts 解析配置、系统基础升级、防火墙与 swap 关闭、内核模块加载(overlay、br_netfilter、ip_vs)、网络参数优化(IP 转发、桥接过滤)、时间同步配置等。Ubuntu 24.04 内核 6.8+ 原生支持 eBPF 和 IPVS,无需手动升级内核

幸福街--linux技术分享 210

Spring IoC注解详解

这篇文章记录Spring IoC通过注解注入属性的方法。一、注解注入属性一个简单的案例1)Spring配置文件引入context约束&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cont...

lzgsea的博客 1万+

激光打标轴坐标计算分析

‌:基于坐标差的平方和开方运算,勾股定理将几何关系转化为代数计算,从而实现了从坐标到距离的精确转换‌12。直角三角形的应用从上图可以看到A,B,P三个点连起来就是一个直角三角形了。用勾股定理计算距离 C#有相关的方法直接传参数就可以了。很方便。

StevenChen的博客 311

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Spring4-IoC2-基于注解管理bean

从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。元素开启 Spring Beans的自动扫描功能。开启此功能后,Spring 会自动从扫描指定的包(base-package 属性设置)及其子包下的所有类,如果类上使用了 @Component 注解,就将该类装配到容器中。Spring 从 2.5 版本开始提供了对注解技术的全面支持,我们可以使用注解来实现自动装配,简化 Spring 的 XML 配置。

m0_73902080的博客 2162

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring 框架 IOC 注解

在 Spring 框架中,控制反转(IOC)是核心思想之一。传统 XML 配置方式虽能实现 IOC,但存在配置繁琐、维护成本高的问题。而通过代码注解直接声明 Bean 及其依赖关系,大幅简化开发流程,成为现代 Spring 开发的主流选择。本文将系统讲解 IOC 注解的核心用法、常用注解及纯注解架构实践。

m0_61261153的博客 1161

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

如何使用Spring IOC的注解进行开发

Spring IoC(Inversion of Control,控制反转)容器通过提供了一种简洁且强大的方式来进行依赖注入和配置管理。开发使得 Spring 应用程序的配置更为简洁和直观,减少了 XML 配置的冗余和复杂性。本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作。

lovellsj的博客 1543

Spring IOC的注解配置

Spring IOC的注解配置 (一)简述 上回说到,我们可以使用书写XML配置文件的方式来让spring产生我们需要的Bean对象,并放入容器中。但是,书写配置文件是一件非常繁琐的事情,而且一旦配置文件内容很多,阅读起来也是一件让人头疼的事,所以,我们急需一种部分或者完全摆脱配置文件的配置方式。 下面我们就来看看spring的注解配置方式。注解配置和用配置文件配置相比,只是配置的形式不一样,最终达到的目的是基本相同的。就好比坐飞机去北京和坐高铁去北京,虽然使用的交通工具不一样,但是都达到了去北京的目的。

物是人非,结局始终不美 1万+

spring之IoC注解

注解的存在主要是为了简化XML的配置

qq_42338744的博客 867

Spring基于注解的IOC配置

学习基于注解的IOC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦合。只是配置的形式不一样。

w2144217940的博客 1154

Spring(二)——基于注解的IOC以及IOC的案例

基于注解的ioc;ioc的案例;Spring整合Junit

w_xy999的博客 407

Spring IOC 注解开发

Spring IOC 注解开发核心是 “注解标记类 + 包扫描”,替代传统 XML 配置,更简洁高效;4 个核心注解(@Component/@Controller/@Service/@Repository)功能一致,仅语义分层不同;Bean 的 id 建议显式指定,避免重复或识别异常,是注解开发的关键细节;注解开发是 Spring/SpringBoot 的基础,需熟练掌握 “扫描 - 标记 - 获取 Bean” 的完整流程。

2301_82251392的博客 867

Spring的IOC的注解的详解

简介 spring通过applicationContext.xml管理bean工厂,但是我们还有一种更加简便的方式就是使用IOC注解的方式来进行管理。 优缺点和对比 使用IOC注解的优点: 简洁明了、代码简单 使用IOC注解的缺点: 1.不够直观,使用xml配置文件的方式会让结构一目了然,但是使用IOC注解时,想知道各个类的实例需要进入到相应的类内部去看,相对麻烦。 2.不能对jar包里面的类使用...

GEEK-BANANA 1760

Spring IoC常用注解

Spring IoC容器 Spring IoC(Inversion of Control,控制反转)是Spring Framework的最核心的部分。 所谓控制反转,是指通过使用IoC容器对象依赖关系的管理被反转了,也就是说,对象之间的依赖关系由IoC容器进行管理,并且由Ioc容器通过依赖注入(DI,Dependency Injection)的方式来完成对象的注入。   在

raiet 2022

Spring学习第6篇: 基于注解使用IOC

非自定义Bean不能像自定义Bean一样使用@Component进行管理,非自定义Bean要通过工厂的方式进行实例化,使用@Bean标注方法即可,@Bean的属性为beanName,如不指定为当前工厂方法名称// 将方法返回值Bean实例以@Bean注解指定的名称存储到Spring容器中 @Bean("dataSource") public DataSource dataSource() {}PS:工厂方法所在类必须要被Spring管理。

怪咖@的博客 2220
上一篇: 【计蒜客】爬楼梯
下一篇: 原码、反码和补码的详解
红枫忆梦
博客等级 码龄8年 117粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值