java框架SSM学习——AOP概念以及为什么要用AOP?

如果说IoC是Spring的核心,那么面向切面编程就是Spring最重要的功能之一。我们用一个操作数据库事务的案例来演示一下,因为AOP单从理论上讲太过于抽象。但先了解一下术语,再去看案例的解释就能有一定的了解。里面操作数据库我选择用外部工具dbutils。(代码量大,但是在后面都会一直用这个案例来修改)

术语

切面(Aspect):所有需要增强的方法。
通知(Advice):切面开启后,切面的方法的调用顺序定义。
引入(Introduction):引入允许我们在现有的类里添加自定义的类和方法。
切点(PointCut):这是一个告诉Spring AOP在什么时候启动拦截并织入对应的流程。
连接点(join point):需要拦截的东西。
织入(Weaving):生成一个代理对象并将切面内容放入流程中的过程。

案例

Maven配置

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>commons-dbutils</groupId>
            <artifactId>commons-dbutils</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>

        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>

新建IAccountDao接口类

package com.dao;
import com.domain.Account;
import java.util.List;

//账户的持久层接口
public interface IAccountDao {
   
    //查询所有
    List<Account> findAllAccount();
    //查询一个
    Account findAccountById(Integer id);
    //保存操作
    void saveAccount(Account account);
    //更新操作
    void updateAccount(Account account);
    //删除操作
    void deleteAccount(Integer id);
    //根据名称查询账户
    Account findAccountByName(String accountName);
}

AccountDao实现类

package com.dao.impl;

import com.dao.IAccountDao;
import com.domain.Account;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.util.List;

//账户的持久层实现类
public class AccountDaoImpl implements
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值