`
gaowenming
  • 浏览: 167969 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

记录日志时重写持久化类的toString()方法

阅读更多

在利用spring的aop记录系统运行日志时,往往需要记录方法的参数、返回值等,而在用hibernate框架做整合时,大部分情况下参数和返回值都是某个持久化对象,这时候如果直接记录时,得到的是该对象在内存中的哈希值,而这样的内容很明显不是我们想得到的,当然要解决这个问题,最简单的方法就是重写该持久化类的toString()方法。

在重写了toString方法后,得到的结果将会是如下:

before: userExsit
方法参数:beckham1
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.realname as realname0_, user0_.sex as sex0_, user0_.age as age0_ from menhu.user user0_ where user0_.username='beckham1' limit ?
before: saveUser
方法参数:User对象详细信息:用户名:beckham1密码:123456真实姓名:贝克汉姆性别:男年龄:32

这样的话,我们记录的日志才是我们想要的!

分享到:
评论

相关推荐

    bean运行时跟综实例-TOSTRING

    在Java编程中,`toString()`方法是一个非常关键的工具,特别是在进行调试和日志记录时。标题中的"bean运行时跟综实例-TOSTRING"强调了在运行时通过重写`toString()`方法来追踪和诊断问题的重要性。描述指出,这样做...

    NET初学者经典学习文档课程11

    重写ToString方法是面向对象编程中的一个重要特性,允许子类覆盖父类的ToString方法,提供自定义的字符串表示形式。这对于日志记录、调试和显示对象信息特别有用。 部分类是.NET中的一种高级特性,允许将一个类的...

    lego2学习手册 ( LEGO框架学习笔记)

    4. 为了优化,建议持久化类实现`Serializable`接口,使用对象类型而非原始类型表示可为NULL的字段,重写`toString()`和`equals()`方法。 5. 默认情况下,OJB直接访问对象属性,但可以通过配置文件改变访问方式。 6. ...

    java学习笔记JDK6课件之十七

    注解在实际开发中有很多应用场景,如依赖注入、代码生成、持久化、验证等。它们提供了代码与元数据之间的桥梁,使得开发者能够以声明式的方式指定代码的行为,而无需改变代码本身的逻辑。在JDK6中,注解的应用已经...

    Effective CSharp

    ToString()是一个基类方法,让派生类能够以文本形式表示自己的内容,这有助于调试和日志记录。 6. 理解不同相等概念之间的关系。在.NET中,相等可以是值相等、引用相等或者结构相等,理解它们之间的差异对于正确地...

    50个要点帮你提高C#编程水平

    ToString方法的重写:自定义对象表示 重写`ToString()`方法可以让对象在转换为字符串时提供更有意义的表示,这对于调试和日志记录尤其重要。 ### 6. 值类型与引用类型的区别:数据存储机制 理解值类型(如int、...

    提高C#编程水平的50个要点

    - **实践建议**:为类实现`GetHashCode`方法时,应确保该方法的结果与`Equals`方法保持一致。 ### 11. 使用`foreach`循环遍历集合 - **重要性**:`foreach`循环提供了更简洁、更安全的迭代方式。 - **实践建议**:...

    java代码-定义一个员工信息类Employee

    7. **toString()**方法:此方法返回表示对象状态的字符串,方便调试和日志记录。通常会覆盖`Object`类的`toString()`方法。 ```java @Override public String toString() { return "Employee{" + "name='" + name...

    Java编程规则教程

    - **重写标准方法**:当实现类时,考虑重写`equals()`、`hashCode()`、`toString()`等方法,以提供更丰富的对象行为和更好的调试体验。同时,实现`Cloneable`接口并覆盖`clone()`方法,可以使对象可克隆。 - **序列...

    Effective_C#_中文版_改善C#程序的50种方法

    重写`ToString()`方法可以提供一个更具有描述性的字符串表示,这对于调试和日志记录特别有用。 #### 原则6:区别值类型数据和引用类型数据 理解值类型(如整数、浮点数和结构体)和引用类型(如数组、类和接口)...

    提高C#水平到要决(txt文档)

    重写 `ToString` 方法可以让你自定义对象的字符串表示形式,这有助于调试和日志记录。 #### 六、值类型的比较 - **ReferenceEquals**:用于比较两个对象是否引用同一内存地址。 - **static Equals** 和 **instance...

    提高C#编程的50个要点

    5. **重写ToString方法**:自定义ToString方法能提供更清晰的类表示。 6. **值类型与引用类型**:理解它们的存储和行为差异,正确选择类型。 7. **不可变值类型**:不可变类型保证了数据安全,尤其在多线程环境中...

    调高C#编程的50个基本技巧

    重写方法时使用override 使用`override`关键字明确地指示你正在重写基类中的方法。这有助于提高代码的可读性和维护性。 #### 19. 使用委托来实现回调 委托提供了一种将方法作为参数传递的机制,这是实现回调模式的...

    ApacheMINA传递对象实例[借鉴].pdf

    `toString()`方法被重写,用于返回一个友好的字符串表示,这对于调试和日志记录非常有用。 在MINA中使用这些对象进行通信的基本步骤包括: 1. 创建一个`IoSession`,这是MINA中的核心概念,代表一个持久的连接。 2...

    提高C#编程水平不可不读的50个要诀

    5. **重写ToString方法**:重写`ToString()`方法可以提供类的自定义字符串表示形式,这不仅增强了代码的可读性,也是实现类的默认打印格式的有效途径。 6. **值类型与引用类型**:理解C#中的值类型(如int、bool等...

    基于 webmagic 的 Java 爬虫应用.zip

    此外,还可以使用持久化Scheduler,如RedisScheduler,将待爬取的URL存储在Redis中,以实现分布式爬虫。 六、异常处理与日志 在实际开发中,我们需要考虑网络异常、网页结构改变等情况,合理地捕获和处理异常。同时...

    Spring.pdf

    3. 简单项目:文件中提到了一个简单的Java类Student,这个类定义了基本的属性和对应的getter和setter方法,还重写了toString方法用于对象的字符串表示。然后通过Spring的XML配置文件定义了一个Bean,将这个Student...

    Effective_C#中文版_改善C#程序的50种方法.pdf

    - 当需要改变数据存储方式或增加逻辑处理时,如添加验证逻辑、日志记录等。 - 提供更灵活的接口,使得内部实现细节的变化不影响外部调用者。 **原则2:为你的常量选择`readonly`而不是`const`** - **核心思想**:...

Global site tag (gtag.js) - Google Analytics