2020-02-09

2020-02-09

描述

spring aop练习
今日之技术博客

Spring

2020-02-09_第1张图片

Spring是高度模块化的,可以单独使用Spring的某个库而不需要依赖Spring的其他库。比如,使用Spring Context库不需要依赖Spring Persistence或者Spring MVC库。

spring Maven依赖

依赖 介绍 依赖于
spring-core 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 commons-collections.jar
spring-beans 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。 spring-core.jar,cglib-nodep-2.1_3.jar
spring-aop 这个jar文件包含在应用中使用Spring的 AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。 spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar
spring-context 这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。 spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar
spring-dao 这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。 spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar
spring-hibernate 由名字就可以知道它的用途,这个jar文件包含Spring对Hibernate 2及Hibernate 3进行封装的所有类。 spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-orm.jar,spring-web.jar,spring-webmvc.jar
spring-jdbc 这个jar文件包含对Spring对 JDBC数据访问进行封装的所有类。 spring-core.jar,spring-beans.jar,spring-dao.jar
spring-orm 这个jar文件包含Spring对 DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包。 spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar
spring-remoting 这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、 Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-context.jar,spring-web.jar,spring-webmvc.jar
spring-support 这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 ing-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
spring-web 这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 spring-core.jar,spring-beans.jar,spring-context.jar
spring-webmvc 这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 spring-core.jar,spring-beans.jar,spring-context.jar,spring-web.jar
spring-mock 这个jar文件包含Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其中大量mock类,这样测试就更加简单。模拟HttpServletRequest和HttpServletResponse类在Web应用单元测试是很方便的。 spring-core.jar,spring-beans.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
Spring test 测试

参考博客

AOP 练习

引入依赖

 
        
            org.springframework
            spring-context
            5.2.3.RELEASE
        

        
            org.springframework
            spring-aspects
            5.2.3.RELEASE
        

        
            junit
            junit
            4.12
            test
        
    

方式一

配置文件



    
    
      
     

    
    
        
        
        
        
        
    

方式二




        
        
        
        

        
            
            
                
                
                
                
                
            
        

方式三(注解)

配置文件




    
    

aop类

import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class Diy {

    @Before("execution(* chang.demo3.ServiceImpl.*(..))")
    public void befor(){
        System.out.println("执行方法前");
    }

    @After("execution(* chang.demo3.ServiceImpl.*(..))")
    public void after(){
        System.out.println("执行方法后");
    }

}

你可能感兴趣的:(2020-02-09)