SSM三大框架整合详细教程( 四 )


Log4j 的配置很简单,而且也是 通用的,下面 给出一个基本的配置,换到其他项目中也无需做多大的调整,如果想做调整 或者想了解 Log4j 的各种配置,参看我 转载的一篇博文,很详细:
http://blog.csdn.net/zhshulin/article/details/37937365
下面给出配置文件目录:

SSM三大框架整合详细教程

文章插图
 
log4j.properties
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File =
org.apache.log4j.RollingFileAppender#指定输出目录
log4j.appender.File.File = logs/ssm.log#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n
4.2.4、JUnit测试经过以上步骤(到4.2.2,log4j不配也没影响),我们 已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了 。
4.2.4.1、创建测试用表既然我们需要测试,那么我们就需要建立在数据库中建立一个测试表,这个表建的很简单,SQL 语句为:
DROP TABLE IF EXISTS `user_t`;
CREATE TABLE `user_t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(40) NOT NULL,
`password` varchar(255) NOT NULL,
`age` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `user_t` */
insert into `user_t`(`id`,`user_name`,`password`,`age`) values (1,'测试','sfasgfaf',24);
4.2.4.2、利用MyBatis Generator自动创建代码参考博文:
http://blog.csdn.net/zhshulin/article/details/23912615
这个可根据表自动创建实体类、 MyBatis 映射文件以及 DAO 接口,当然,我 习惯将生成的接口名改为 IUserDao,而不是直接用它生成的 UserMapper。如果不想麻烦就 可以不改。完成后将文件复制到工程中 。如图:
SSM三大框架整合详细教程

文章插图
 
4.2.4.3、建立Service接口和实现类目录结构:
SSM三大框架整合详细教程

文章插图
 
下面给出具体的内容:
IUserService.jave
package com.cn.hnust.service;
import com.cn.hnust.pojo.User;
public interface IUserService {
public User getUserById(int userId);
}
UserServiceImpl.java
package com.cn.hnust.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.cn.hnust.dao.IUserDao;import com.cn.hnust.pojo.User;import com.cn.hnust.service.IUserService;
@Service("userService")public class UserServiceImpl implements IUserService {
@Resource
private IUserDao userDao;
@Override
public User getUserById(int userId) {
// TODO Auto-generated method stub
return this.userDao.selectByPrimaryKey(userId);
}
}
4.2.4.4、建立测试类测试类 在src/test/java中建立,下面测试类中 注释掉的部分是不使用 Spring 时,一般情况下的一种测试方法 ;如果使用了 Spring 那么就可以使用注解的方式来引入配置文件和类,然后再将 service 接口对象注入,就可以进行测试了 。
如果测试成功,表示 Spring 和 Mybatis 已经整合成功了。输出信息使用的是 Log4j 打印到控制台 。
package org.zsl.testmybatis;
import javax.annotation.Resource;
import org.apache.log4j.Logger;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.alibaba.fastjson.JSON;import com.cn.hnust.pojo.User;import com.cn.hnust.service.IUserService;
@RunWith(SpringJUnit4ClassRunner.class) //表示继承了SpringJUnit4ClassRunner类
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})


推荐阅读