`

Spring AOP 对(增删改)操作记录日志

阅读更多

以下程序记录增删改操作
1.目标类LoginService.java

 

public class LogService {

    @SuppressWarnings("unchecked")
    public void logOption(JoinPoint jp) {
        StringBuilder str = new StringBuilder();
        str.append("method:" + jp.getSignature().getName() + "\n");

        HttpServletRequest request = ServletActionContext.getRequest();
        Iterator<Entry<String, Object>> it = request.getParameterMap()
                .entrySet().iterator();
        boolean isFirst = true;
        str.append(" param:");
        while (it.hasNext()) {
            Entry<String, Object> entry = it.next();
            if (isFirst) {
                isFirst = false;
            } else {
                str.append(";");
            }
            str.append(entry.getKey() + "=");
            Object[] allValue = (Object[]) entry.getValue();
            for (int i = 0; i < allValue.length; i++) {
                if (i != 0) {
                    str.append(",");
                }
                str.append(allValue[i].toString());
            }
        }

        System.out.println(str.toString());
    }
}

2.在applicationContext.xml进行配置

 

<!-- 目标类 -->

    <bean id="logService" class="com.iteye.blog.service.LogService"></bean>
    <!-- 声名式事务 -->   

     <aop:config>
        <aop:aspect id="myAspect" ref="logService">
            <aop:pointcut  

                <!-- 注意:这里要写拦截方法的路径 -->         
                expression="execution(* com.iteye.blog.service.*.save*(..))||execution(* com.iteye.blog.service.*.delete*(..))||com.iteye.blog.service.*.update*(..))"
                id="logPointCut" />
            <aop:after method="logOption" pointcut-ref="logPointCut" />
        </aop:aspect>
    </aop:config>

 注意:建议使用<aop:config proxy-target-class="true" />,使用CGLIB代理类

 

分享到:
评论

相关推荐

    SSH实现基本的增删改

    Spring的事务管理确保了在数据库操作中的原子性,确保增删改操作的完整性。 Hibernate作为ORM(对象关系映射)框架,将Java对象与数据库表进行映射,简化了数据库操作。在描述中提到了"使用了hibernate分页",这...

    webwork增删改简单入门例子(+spring+ibatis)

    在这个“webwork增删改简单入门例子(+spring+ibatis)”中,我们将探讨如何结合Spring和iBatis这两个流行的技术来构建一个基础的CRUD(创建、读取、更新、删除)应用。 1. WebWork基础知识: - 控制器:WebWork的...

    ssh__增删改

    在增删改操作中,Spring的Bean管理可以帮助你轻松地获取和设置数据访问对象(DAO),并通过事务管理确保数据的一致性。例如,Spring的`@Transactional`注解可以用来标记一个方法或类,使其在执行时自动开启和提交...

    MyBatis+Struts2+Spring 增删改查

    Struts2作为前端控制器,接收HTTP请求并转发到相应的Action处理,Action再通过Spring管理的MyBatis SqlSessionFactory创建SqlSession,执行SQL语句,完成对数据库的操作。MyBatis通过XML配置文件或注解定义SQL语句,...

    springBoot+mybatis读写分离(AOP)

    AOP则是Spring框架的核心特性,用于在不修改原有代码的情况下,对特定行为(如日志记录、权限检查等)进行横切关注。 在Spring Boot项目中,我们可以通过AOP来实现读写分离。首先,我们需要定义两个数据源,一个...

    SpringMVC+Hibernate实现增删改

    5. **Interceptor**: 拦截器允许在请求处理前后进行预处理和后处理,例如权限验证、日志记录等。 6. **ModelAndView**: 用于将模型数据和视图名称一起返回给DispatcherServlet。 **Hibernate框架** Hibernate是一个...

    基于Spring + Spring MVC + MyBatis的图书馆管理系统

    图书管理、编辑功能则涉及到数据库的增删改操作,通过Spring的DAO接口和MyBatis的Mapper接口实现。读者管理模块包括读者信息的录入、修改和删除,同时还需要考虑到权限验证。图书的借阅与归还功能需要记录借阅状态,...

    毕业设计struts+hibernate+spring添删改查示例源码

    此外,Spring还提供了AOP(面向切面编程)功能,用于实现如日志记录、权限检查等横切关注点。Spring还集成了其他框架,如MyBatis、Quartz等,形成了一个全面的企业级应用解决方案。 在这个"毕业设计struts+...

    贫血模式下的SSH处理日志管理以及对权限管理的思考

    在众多情况下,日志的管理是通过拦截器来完成的,不过通过STRUTS2的拦截器编码比较繁琐,在此通过spring的aop来处理,在贫血模式下将代码量降到最低,同时配置文件均可共用,从此,不用为日志管理浪费任何时间。

    ssm框架做的增删改查demo带数据库完美demo

    "增"是指添加新记录,"删"是删除指定记录,"改"是修改已有记录,"查"则是查询和检索数据。这些操作在MyBatis中通常通过Mapper接口和XML配置文件实现,SpringMVC控制器负责调用Service层的方法,Service层再通过...

    struts2+spring+ibatis集成实现赠删改查

    Spring框架则是一个全面的企业级应用框架,它的核心功能包括依赖注入(DI)和面向切面编程(AOP)。在本示例中,Spring用于管理Struts2中的Action类,通过DI来注入需要的服务,如数据库操作的DAO(Data Access ...

    一个简单的ssh框架实现的增删改查

    AOP则用于实现如日志记录、性能监控等跨切面关注点。 Hibernate是SSH中的持久层框架,它简化了Java对象与数据库表之间的映射工作,通过ORM(对象关系映射)技术实现了数据的CRUD操作。开发者只需定义实体类和映射...

    使用SSH框架实现增删改查

    此外,Spring还提供AOP(面向切面编程),可以方便地实现日志记录、事务管理等功能。 3. **Hibernate**:作为持久层框架,Hibernate简化了与数据库的交互。我们需要配置hibernate.cfg.xml文件,定义数据库连接参数...

    简单实现SSM增删改查

    SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,用于构建高效、...在实际项目中,还会涉及到异常处理、权限控制、日志记录等多个方面,但SSM提供了良好的扩展性和灵活性,便于整合其他功能组件。

    ssh和oracle写的一个图书馆增删改查的小系统

    在本系统中,Spring可能还用到了AOP(面向切面编程)来处理如日志记录、事务管理等横切关注点。 Struts作为MVC(模型-视图-控制器)架构的一部分,主要处理HTTP请求,控制应用程序的流程,并将数据传递给视图层展示...

    ssh 多表的增删改查

    此外,使用事务控制确保数据一致性,使用缓存提高性能,使用日志记录异常信息,以及进行单元测试等都是提升SSH项目质量的关键。 7. **优化技巧**:对于多表查询,合理设计数据库索引,避免全表扫描;使用JOIN而非子...

    spring mvc+ibatis+spring注解

    5. AOP:面向切面编程,例如日志记录、权限控制等可以通过AOP实现。 6. Spring Security:可能用于用户登录验证和权限控制,提供安全的访问机制。 总之,这个项目展示了如何结合Spring MVC、Ibatis以及Spring注解,...

    中国移动业务管理系统struts_spring_hibernate.rar

    在系统中,Hibernate的Session接口处理了与数据库的会话,包括查询、增删改等操作,减少了手动编写SQL的繁琐工作,提高了开发效率。 这三者之间的协作流程大致如下:用户发起请求,Struts接收到请求后调用由Spring...

    java 对数据 的增删改查

    总的来说,通过Java、Spring、AOP和MyBatis的组合,我们可以构建出一套高效且易于维护的数据操作系统,实现对数据库的增删改查功能。这样的架构不仅简化了开发过程,也提高了代码的可读性和可扩展性。在实际项目中,...

Global site tag (gtag.js) - Google Analytics