Spring学习(6) - idea中用maven创建SpringAOP的Demo项目

创建Maven项目。配置pom.xml引入所需的Spring依赖包
定义接口

package com.neo.service;

public interface IFridgeService {
    void putInFridge();
}

创建实现类

package com.neo.service.impl;

import com.neo.service.IFridgeService;

public class FridgeServiceImpl implements IFridgeService {
    @Override
    public void putInFridge() {
        System.out.println("============put in fridge");
    }
}

创建切面类,放到冰箱里面的前后两个操作。

package com.neo.aop.aspect;

public class FridgeAspect {
    public void beforePut(){
        System.out.println("===beforePut");
    }
    public void afterPut(){
        System.out.println("===afterPut");
    }
}

两种方式配置Spring

1.xml:创建applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
       ">
    <!--基于schema-->
    <!--被增强的Bean-->
    <bean id="FridgeServiceImpl" class="com.neo.service.impl.FridgeServiceImpl"></bean>

    <!--切面 -->
    <bean id="aspect" class="com.neo.aop.aspect.HelloWorldAspect"></bean>

    <aop:config>
        <!--切点-->
        <aop:pointcut id="pointcut" expression="execution(* com.neo.service.*.*(..))"/>
        <aop:aspect ref="aspect">
            <!--增强-->
            <aop:before method="beforeAdvice" pointcut-ref="pointcut"/>
            <aop:after  method="afterFinallyAdvice" pointcut="execution(* com.neo.service.*.*(..))"/>
        </aop:aspect>
    </aop:config>
</beans>

构建测试类

package com.neo.spring;

import com.neo.service.IFridgeService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AOPMain {
    public static void main(String [] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("META-INF/applicationContext.xml");
        IFridgeService helloWorldService =
                context.getBean("FridgeServiceImpl", IFridgeService.class);
        helloWorldService.putInFridge();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值