环境为 springmvc 3.2 AOP 是到service层,写操作日志用。
刚才开始搭框架时,写了个测试SERVICE,也分了service,serviceImpl
当时测试就service方法就传了一个参数,能成功。今天用于正式代码,拦截就完全不起作用了。当然之前那个测试SERVICE还是能成功。
然后把测试SERVICE的入参改为2个参数,也不行了。
我把配置贴上来,大神帮看看。
@Aspect
public class LogInterceptor {
private static final Log log = LogFactory.getLog(LogInterceptor.class);
@Autowired
protected HttpServletRequest request;
@Autowired
private OperationLogService operationLogService;
@Pointcut("within(cn.ccsgroup.ccsframework..service.*Service)")
public void withService() {
}
@Pointcut("execution(public * save*(..))")
public void saveObject() {
}
@Pointcut("execution(public * update*(..))")
public void updateObject() {
}
@Pointcut("execution(public * disable*(..))")
public void disableObject() {
}
@Pointcut("execution(public * enable*(..))")
public void enableObject() {
}
@Pointcut("execution(public * delete*(..))")
public void deleteObject() {
}
@Pointcut("execution(public * import*(..))")
public void importObject() {
}
@Pointcut("execution(public * export*(..))")
public void exportObject() {
}
@Pointcut("execution(public * downLoad*(..))")
public void downLoadObject() {
}
@Pointcut("@within(org.springframework.stereotype.Service)")
public void ObjectserviceImpl() {
}
/**
*
* @Title: afterReturning
* @Description: TODO(Service的方法执行结束后的AOP)
* @param @param jp 切点
* @param @throws Throwable 设定文件
* @return void 返回类型
* @throws
*/
@AfterReturning(value = "ObjectserviceImpl() && (saveObject() || updateObject() || disableObject() || enableObject() || deleteObject() || importObject() || exportObject() || downLoadObject())", returning = "retVal")
public void afterReturning(JoinPoint jp,String retVal ) throws Throwable{
Boolean result = true; //默认操作成功
logService(jp,result,retVal,null);
}
@AfterThrowing(value = "ObjectserviceImpl() && (saveObject() || updateObject() || disableObject() || enableObject() || deleteObject() || importObject() || exportObject() || downLoadObject())",throwing="excep")
public void afterThrowing(JoinPoint jp,Exception excep) throws Throwable{
Boolean result = false; //异常失败
logService(jp,result,null,excep);
}
service
@TypeAnnotation("角色管理")
public interface RoleManagerService {
@MethodAnnotation("修改角色")
public int updateRole(Role role);
@MethodAnnotation("save角色")
public int saveRole(Role role, SessionBean sessionBean);
serviceImpl
@Service("roleManagerService")
@Transactional
public class RoleManagerServiceImpl implements RoleManagerService {
@Resource(name="roleManagerDao")
private RoleManagerDao roleManagerDao;
@Override
public int saveRole(Role role, SessionBean sessionBean) {
// TODO Auto-generated method stub
Map<String,Object> map = new HashMap<String,Object>();
map.put("entity", role);
map.put("sessionBean", sessionBean);
return (Integer) roleManagerDao.getSqlMapClientTemplate().insert("Role.insertRole", map);
}
然后我包路径肯定是没问题的。
问题补充:唉,已经解决。之前我想多了
相关推荐
springMVC mybatis aop 非注解 基于配置 mysql数据库 还包括了AOP的例子 可以对日志集中操作 还有整个项目的异常操作 都是AOP实现非侵入代码 整个dmeo没有注解(除了override)都是基于配置的 包括数据库建库脚本 ...
本压缩包文件主要涵盖了Spring框架的核心部分——Spring MVC和AOP(面向切面编程)的详细知识,对于想要深入理解和运用Spring框架的开发者来说,是一份非常宝贵的资源。 首先,我们来看看《Spring3.20权威开发指南...
SpringMVC-Aop demo是一个关于如何在SpringMVC框架中集成和使用AOP(面向切面编程)的示例项目。这个项目旨在帮助开发者理解如何通过注解来配置和实现AOP,以便进行日志记录、事务管理或其他跨功能的需求。下面我们...
本文抛砖引玉,并没有详细的介绍更全面的内容,通过一个例子让初次使用的人能够快速入门,简单的介绍一下。 第一,注解: @Before – 目标
在Spring MVC中,AOP(面向切面编程)是一种强大的工具,可以让我们在不修改代码的情况下,对程序的特定部分进行增强,例如日志记录、事务管理或性能监控。在这个场景中,我们将讨论如何利用AOP来实现Controller的...
本项目“Spring+SpringMvc+MybatisPlus+Aop(自定义注解)动态切换数据源”正是针对这一需求提供的一种解决方案。下面将详细介绍这个项目中的关键技术点和实现原理。 首先,Spring框架是Java企业级应用开发的核心...
基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...
- SpringMVC:包含了一个简单的Spring MVC应用示例,可能包括了web.xml配置、DispatcherServlet配置、Controller类、视图解析器配置以及相应的HTML视图。你可以通过这个例子学习如何设置Spring MVC项目,以及如何...
在IT行业中,SpringMVC和AOP(面向切面编程)是两个非常重要的概念,尤其在企业级应用开发中广泛使用。SpringMVC是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)架构。而AOP则是Spring框架...
1、访问地址:http://localhost:8080/springmvc/user/hello?...2、配置步骤: 1)引入架包; 2)写controller类 ...3以上版本就支持@PathVariable注解,允许的话,建议采用SpringMVC4,增加了一些新特性 ;
spring mvc aop <context:annotation-config />
AOP(面向切面编程)则是Spring框架的一个重要特性,允许我们在不修改原有业务逻辑的情况下,插入额外的功能,比如日志记录。在这个例子中,我们将讨论如何将Log4j与Spring MVC和AOP结合,实现方法调用前后的日志...
基于springmvc spring aop分布式服务架构 本框架使用注意事项 @desc 有问题和建议可联系本人,一同改进框架 @author yinhaiquan @date 2017/05/22 11:24:26. @email *********************************************...
SpringMVC用XML方式实现AOP的方法示例 本文主要介绍了SpringMVC用XML方式实现AOP的方法示例,通过示例代码详细地介绍了如何使用XML方式来实现AOP。AOP(Aspect-Oriented Programming)是一种编程范式,它可以将横切...
使用aop进行多数据源切换 springMVC+spring+mybatis增删改查的使用。dk8+tomcat8+mysql+Eclipse+maven。spring+spring mvc+mybatis+bootstrap+jquery
在IT行业中,SpringMVC和AOP(面向切面编程)是两个非常重要的概念,尤其在企业级Web应用开发中广泛使用。SpringMVC作为Spring框架的一部分,负责处理HTTP请求,提供模型-视图-控制器架构模式的实现,而AOP则是一种...
Spring MVC、Spring AOP、Spring Security和Hibernate是Java开发中常用的四大框架,它们各自负责不同的领域,但在实际项目中往往需要进行整合以实现更高效、更安全的开发。本实例代码提供了一个完整的整合示例,涵盖...
本图书管理系统基于SpringBoot、SpringMVC、SpringAOP和Spring IoC等核心技术构建,旨在提供一个高效、灵活且可扩展的图书管理解决方案。系统具备用户管理、图书信息管理、借阅管理和统计分析等功能模块,通过友好的...
在Spring MVC框架中,AOP(面向切面编程)是一种强大的工具,用于实现跨切面的关注点,如日志管理、事务控制等。本项目"Spring MVC AOP通过注解方式拦截Controller等实现日志管理demo版本2"是基于注解的AOP实践,...