SSH(struts+spring+hibernate)迅速开发--第十章 记录日志(1)

第十章 记录日志

 

内容:

1.    实现记录日志功能(服务)

2.    将日志服务,注册到Spring容器

3.    基于AOP方面编程思想,利用Spring中的前置通知,在实现用户登陆的时候,自动记录日志

 

 

实现记录日志功能

我们有前面用户服务开发和商品服务开发基础后,对日志服务的开发应该很简单了,主要也是定义Log的接口,调用LogDAO实现接口。这里我们就不详细重复了,如下是对应的代码清单:

Logging.java

package cn.com.book.demo.services;

 

public interface Logging {

       /**

        * 记录指定信息

        * */

    public void logging(String str);

}

 

LoggingImpl.java

/**

 *

 */

package cn.com.book.demo.services.impl;

 

import java.util.Date;

 

import cn.com.book.demo.hibernate.dao.Log;

import cn.com.book.demo.hibernate.dao.LogDAO;

import cn.com.book.demo.services.Logging;

 

/**

 * @author Noble.Yang

 *

 */

public class LoggingImpl implements Logging {

       private LogDAO logDAO = null;

      

 

       public void setLogDAO(LogDAO logDAO) {

              this.logDAO = logDAO;

       }

 

      

       /* (non-Javadoc)

        * @see cn.com.book.demo.services.Logging#logging(java.lang.String)

        * 专门用户记录用户登陆的日志

        */

       public void logging(String userName) {

              Log log = new Log(userName + " login in", new Date());

              this.logDAO.save(log);

       }

      

       private void initDAO(){

              if(this.logDAO == null){

                     this.logDAO = new LogDAO();

              }

       }

 

}

注册日志服务

代码准备好了,接着同以前的逻辑一样,将日志服务注册到Spring里面去。具体操作同以前的一样:

1.    applicationContext-service.xml中注册日志服务

    <!-- 日志服务 -->

       <bean id="loggingService" class="cn.com.book.demo.services.impl.LoggingImpl">

           <property name="logDAO">

               <ref bean="LogDAO"/>

           </property>

       </bean>

 

    这样,我们在Spring中就注册了日志服务,idloggingService

2.    applicationContext-service.xml中,对注册好的日志服务,添加事务管理

    <bean id="loggingServiceProxy" parent="baseServiceProxy">

              <property name="target">

                     <ref bean="loggingService" />

              </property>

 

              <property name="transactionAttributes">

                     <props>

                            <prop key="log*">PROPAGATION_REQUIRED</prop>

                            <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>

                     </props>

              </property>

       </bean>

同样,我们注册一个基于 Spring 的代理事务代理,对日志服务中的 log 开头的方法,进行方法级别的事务管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值