spring使用注解方式完成IOC和AOP功能

前言

控制反转依赖注入(IOC)及AOP是spring的核心功能,spring使用xml文件完成配置,基本上已经废弃,目前主流的是使用注解的方式完成这两项功能。以下通过示例,演示注解的方式,实现IOC和AOP。

创建maven工程

在这里插入图片描述
输入工程名称,完成工程创建。打开pom文件,加入spring依赖包
在这里插入图片描述
在main目录下加入resource文件夹,并将其设置为Resources Root

在这里插入图片描述
在resources文件夹下,创建spring配置文件,applicationContext.xml
在这里插入图片描述

IOC代码编写

在com.bjwl下创建services包,添加CustomerService接口和CustomerServiceImpl实现类,目录结构如下图所示
在这里插入图片描述
其中,CustomerServiceImpl实现代码如下:
在这里插入图片描述
划线部分就是对应的注解。

告诉spring容器,需要进入容器的类。修改applicationContext.xml文件,修改内容如下:
在这里插入图片描述
此时,idea会提示需要加入context依赖包,根据提示,alt+enter即可

IOC测试

打开CustomerServiceImpl类文件,使用菜单(见下图)或快捷键Ctrl+Shift+T,创建测试类
在这里插入图片描述
在这里插入图片描述
写测试代码如下:
在这里插入图片描述
点击play()前绿色按钮运行,执行结果如下:
在这里插入图片描述
反思:已经完成依赖注入的功能,这样我门的调用方与其依赖的对象呈现松耦合,调用方测似类中使用接口完成对象的定义,如果用户的业务发生变化时,我们仅需要新增一个实现CustomerService接口的类,将注解更改到新扩展的类上即可完成更改,符合开闭原则

AOP示例代码编写

创建包aspect,添加类log如下图:
在这里插入图片描述
如果遇到以下情况
在这里插入图片描述
点击图中依赖包,由maven自动添加
在这里插入图片描述
修改配置文件applicationContext.xml文件,添加AOP配置,如下图
在这里插入图片描述
程序开发完成,进入测试

AOP测试

添加测试类,代码如下:
在这里插入图片描述
运行,结果如下:
在这里插入图片描述
测试类另外一种写法,如下图所示
在这里插入图片描述
执行效果同第一种测试方法。特别注意pom文件中Spring的包和Spring-text包版本一致
否则报:“java.lang.NoSuchMethodError: org.springframework.util.Assert.notNull”
在这里插入图片描述

结论

注解的方式是当前主流的使用方式。在示例的编写中maven的使用,帮助我们下载所依赖的jar包,提供了很大的便利

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值