spring aop 功能实例简述
说明 :aspectj采用注解方式
需要的jar
导入了dist里面的所有jar
从外部找的jar共有5个:
commons-logging-1.1.1.jar
aspectjrt.jar(下载aspectj安装,从其lib路径中拷出)
aspectjweaver.jar(下载aspectj安装,从其lib路径中拷出)
cglib-2.2.jar
aopalliance.jar
1:aop拦截器类InteceptorClass
package com.Test;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class InteceptorClass
{
@Pointcut("execution (* com.Test.AopServiceImpl.*(..))")
private void myPointCutMethod(){};
@Before("myPointCutMethod() & args(name)")
public void doAccessCheck(){
System.out.println("before advice");
}
@After("myPointCutMethod()")
public void doMemoryClear(JoinPoint point){
Object objArgsObject = point.getArgs()[0];
System.out.println(objArgsObject.toString());
}
}
2:业务类AopService
package com.Test;
public interface AopService
{
public String save(String user);
public void update(String user);
}
package com.Test;
public class AopServiceImpl implements AopService
{
private String user = null;
public AopServiceImpl(String user) {
this.user = user;
}
public AopServiceImpl() {}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String save(String user){
return "Jamson";
}
public void update(String user){
}
}
3:spring配置文件beans.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:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config/>
<aop:aspectj-autoproxy/>
<bean id="aopService" class="com.Test.AopServiceImpl" />
<bean id="inteceptorClass" class="com.Test.InteceptorClass" scope="singleton">
</bean>
</beans>
4:测试类AOPTest
package com.Test;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class AOPTest
{
private static AopService aopService;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
aopService = (AopService) ctx.getBean("aopService");
}
@Test
public void aoptest(){
aopService.save("qqqqqqqqqqqqqqqqqqqqqqqq");
}
}
分享到:
相关推荐
AOP的简述部分提到了AOP编程的三个关键部分:定义业务组件、定义切入点和定义增强处理。Spring框架默认使用Java动态代理机制创建代理对象,为接口方法提供代理。如果被代理的类不是接口,则自动切换为使用CGLIB进行...
Spring框架的核心在于依赖注入和AOP(面向切面编程),它简化了对象之间的依赖关系,并提供了与Hibernate的无缝集成。Spring的Hibernate支持可以自动管理Session和事务,但在某些特定情况下,如需要自定义SQL查询或...
4. **AOP**:讲解面向切面编程,如何定义切面、通知类型,以及如何使用Spring AOP实现日志、事务管理等通用功能。 5. **Spring MVC**:介绍Spring MVC框架,与Struts2的比较,以及如何配置和使用Spring MVC处理HTTP...
《Java EE企业级应用开发教程Spring+Spring MVC+MyBatis》是一本深入探讨Java企业级应用程序开发的书籍,源代码包含多个章节的实例,旨在帮助读者理解和掌握使用Spring、Spring MVC和MyBatis框架进行实际开发的关键...
6. **Spring Boot**:简述Spring Boot的出现背景,快速启动应用的方式,自动配置和起步依赖等。 7. **Spring Data访问**:涉及JDBC、Hibernate和MyBatis的集成,以及Spring Data JPA和Spring Data MongoDB等。 8. ...
7. **Spring Boot**:简述Spring Boot的自动化配置和起步依赖,以及如何快速构建微服务应用。 8. **Spring Cloud**:如果包含高级内容,可能还会涉及到Spring Cloud的相关组件,如Eureka服务注册与发现、Ribbon...
3. **AOP**:讲解面向切面编程的概念,包括切点、通知、代理和AOP在Spring中的实现。 4. **Spring MVC**:深入探讨Spring MVC架构,包括DispatcherServlet、ModelAndView、Controllers和视图解析器。 5. **数据...
1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对AOP(面向切面编程)、DI(依赖注入)和IoC(控制反转)的支持。在Java企业级应用中,Spring可以帮助开发者更好地管理对象之间的关系,降低组件间的...
这些书籍将帮助新手逐步理解Spring框架的核心特性,同时提供丰富的实例和最佳实践,帮助读者从基础到高级,全方位地掌握Spring技术栈,为后续的企业级应用开发打下坚实基础。通过学习和实践,你可以有效地提升自己的...
**Spring框架**则是一个全面的企业级应用框架,它不仅支持MVC模式,还提供了依赖注入(DI)和面向切面编程(AOP)等功能。Spring允许开发者在不使用EJB的情况下实现企业级服务,如事务管理。Spring的IoC容器是其核心...
2. **使用AOP配置声明式事务**:面向切面编程(AOP)是Spring框架提供的另一个重要功能。通过AOP,开发者可以在不修改业务逻辑代码的情况下添加如日志记录、性能统计、安全控制、事务处理等功能。在Spring中,通常使用...
Spring MVC的执行流程简述如下: 1. 用户向前端控制器DispatcherServlet发送请求。 2. DispatcherServlet调用HandlerMapping找到对应的处理器(Controller)和拦截器。 3. HandlerAdapter处理Controller,执行其业务...
2. Spring:Spring 是一个全面的后端框架,提供包括依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问/集成、远程调用、web框架等在内的多种功能。在SSH中,Spring主要负责管理对象的生命周期和控制流程。它...
1. **5.1 概述**:简述了SpEL的作用和基本概念,以及它在Spring中的应用场景。 2. **5.2 SpEL基础**:介绍了SpEL的基本语法,如变量引用、运算符、条件语句等。 3. **5.3 SpEL语法**:详细讲解了SpEL的高级语法,...
Spring框架是Java EE应用程序的核心框架之一,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等功能。依赖注入是Spring框架的核心机制之一,它可以将复杂的业务...
3. **配置Spring**:创建`applicationContext.xml`配置文件,定义Bean的实例化、依赖关系以及AOP配置。 4. **编写业务逻辑**:创建服务接口和服务实现类,使用@Autowired注解进行依赖注入。 5. **配置数据访问**:...
- **Spring**: Spring框架是一个轻量级的Java应用开发框架,提供了一系列企业级服务,如依赖注入(DI)、面向切面编程(AOP)、事务管理等。 #### 十五、Spring框架的主要优点? - **IoC(Inversion of Control)*...