ssm整合(方案一 引入jar)

最近为了研究redis整合,基本都是ssm+redis 好吧 我是老古董了,以前都是ssi,那就折腾一下ssm先,具体方案:

方案一:基本引入jar版、方案二:maven版(后续继续整)

这篇主要是通过方案一,反正折腾jar折腾了好久。

jar可以在我的百度云下载http://pan.baidu.com/s/1eRG5kky

项目目录

 

 

 

步骤如下:

一:

jdb.properties

#JDBCdriver
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver

#JDBC
jdbc.url=数据库服务器链接
jdbc.username=数据库账号
jdbc.password=数据库密码
jdbc.publickey=公钥解密

jdbc.dbcp.initialSize=10
jdbc.dbcp.maxActive=500
jdbc.dbcp.maxIdle=10
jdbc.dbcp.minIdle=1
jdbc.dbcp.maxWait=120000

redis.properties用于redis的配置文件。ssm中暂时未用到可以忽略

 

二:

 spring-source.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:cache="http://www.springframework.org/schema/cache"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xmlns:jaxrs="http://cxf.apache.org/jaxrs"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans.xsd
                     http://www.springframework.org/schema/tx
                     http://www.springframework.org/schema/tx/spring-tx.xsd
                     http://www.springframework.org/schema/context 
                     http://www.springframework.org/schema/context/spring-context.xsd
                     http://www.springframework.org/schema/aop
                     http://www.springframework.org/schema/aop/spring-aop.xsd
                     http://www.springframework.org/schema/jee
                     http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
                     http://www.springframework.org/schema/jdbc
                     http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
                     http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.2.xsd 
                     http://cxf.apache.org/jaxws
                     http://cxf.apache.org/schemas/jaxws.xsd
                     http://cxf.apache.org/jaxrs
                     http://cxf.apache.org/schemas/jaxrs.xsd"  default-autowire="byName" >

    <context:annotation-config />
    
    <!-- 扫描注解web整合时用 -->
    <context:component-scan base-package="com.tp.soft" />
    
    
    <context:property-placeholder location="classpath:*.properties"/>
    
    <!-- <bean id="jsonSerializer" class="com.tp.soft.base.redis.JsonRedisSeriaziler"/>  
    <bean id="userDao" class="com.tp.soft.daoRedis.impl.UserDaoImpl" />  -->
    
    
    <bean id="userSvc" class="com.tp.soft.service.impl.UserSvcImpl" />
    
</beans>

 

三:

spring-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:cache="http://www.springframework.org/schema/cache"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xmlns:jaxrs="http://cxf.apache.org/jaxrs"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans.xsd
                     http://www.springframework.org/schema/tx
                     http://www.springframework.org/schema/tx/spring-tx.xsd
                     http://www.springframework.org/schema/context 
                     http://www.springframework.org/schema/context/spring-context.xsd
                     http://www.springframework.org/schema/aop
                     http://www.springframework.org/schema/aop/spring-aop.xsd
                     http://www.springframework.org/schema/jee
                     http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
                     http://www.springframework.org/schema/jdbc
                     http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
                     http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.2.xsd 
                     http://cxf.apache.org/jaxws
                     http://cxf.apache.org/schemas/jaxws.xsd
                     http://cxf.apache.org/jaxrs
                     http://cxf.apache.org/schemas/jaxrs.xsd"  default-autowire="byName" >

    
    <!--Druid 连接池配置-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 
        <!-- 基本属性 url、user、password -->
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="filters" value="stat,config" />
         <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc.publickey}" />
          
        <!-- 配置初始化大小、最小、最大 -->
        <property name="initialSize" value="1" />
        <property name="minIdle" value="1" /> 
        <property name="maxActive" value="40" />
     
        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="60000" />
     
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
     
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000" />
      
        <property name="validationQuery" value="SELECT 'x' FROM DUAL" />
        <property name="testWhileIdle" value="true" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />
     
        <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
        <property name="poolPreparedStatements" value="true" />
        <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
     
        <!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
        <!-- property name="filters" value="stat" /--> 
    </bean>
    
    <!-- 配置sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis/mybatis.xml"/>
    </bean>
    
    <!-- 扫描mapper -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.tp.soft.dao"/>
        <!-- <property name="sqlSessionFactoryBeanName" ref="sqlSessionFactory" />   -->
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
    </bean>
  
</beans>

 

四:

spring-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>  
   <!-- 配置映射类的别名 -->  
    <typeAliases> 
     <!-- 配置entity下的所有别名 别名首字母小写 -->
     <!-- <package name="com.tp.soft.entity"/> -->
     <typeAlias alias="User" type="com.tp.soft.entity.AuUser"/>
   </typeAliases>  
   
   <mappers>
       <mapper resource="com/tp/soft/mapping/UserMapper.xml"/>
   </mappers>  
</configuration>  

 

五、

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >  
<mapper namespace="com.tp.soft.dao.UserMapper" >
    
   <select id="getUser" parameterType="int" resultType="User">
        select * from AU_USER where userid = #{id}
   </select>
    
</mapper>

 

六、

实体类AuUser.java

package com.tp.soft.entity;

import java.io.Serializable;

public class AuUser implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = -1695973853274402680L;
    
    private int userid;
    
    private String login_name;
    
    private String login_pwd;

    
    public AuUser() {
        
    }


    public AuUser(int userid, String login_name, String login_pwd) {
        super();
        this.userid = userid;
        this.login_name = login_name;
        this.login_pwd = login_pwd;
    }


    public int getUserid() {
        return userid;
    }


    public void setUserid(int userid) {
        this.userid = userid;
    }


    public String getLogin_name() {
        return login_name;
    }


    public void setLogin_name(String login_name) {
        this.login_name = login_name;
    }


    public String getLogin_pwd() {
        return login_pwd;
    }


    public void setLogin_pwd(String login_pwd) {
        this.login_pwd = login_pwd;
    }


}

 

七:

dao层

UserMapper.java

package com.tp.soft.dao;

import com.tp.soft.entity.AuUser;

public interface UserMapper {
    public AuUser getUser(int id);
}

 

八:

业务层

UserSvc.java

package com.tp.soft.service;

import com.tp.soft.entity.AuUser;

public interface UserSvc {
    public AuUser getUser(int id);
}

 

UserSvcImpl.java

package com.tp.soft.service.impl;

import javax.annotation.Resource;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;

import com.tp.soft.dao.UserMapper;
import com.tp.soft.entity.AuUser;
import com.tp.soft.service.UserSvc;

@Service("userSvc")
public class UserSvcImpl implements UserSvc{

    @Resource
    private UserMapper userMapper;
    
    @Override
    public AuUser getUser(int id) {
        AuUser user = null;
        try{
            user = userMapper.getUser(id);
        }catch (DataAccessException e) {
            System.out.println(e.getLocalizedMessage());
        }
        return user;
    }

    

}

 

九:

junit测试

package ssmTest;

import javax.annotation.Resource;

import org.apache.log4j.PropertyConfigurator;
import org.junit.Before;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;

import com.tp.soft.entity.AuUser;
import com.tp.soft.service.UserSvc;

@ContextConfiguration(locations = {"classpath:/spring/spring-*.xml"})
public class RedisZhTest extends AbstractJUnit4SpringContextTests{
    
    @Resource
    private UserSvc userSvc;
    
    @Before
    public void loadLog(){
        PropertyConfigurator.configure("config/log4j.properties");//加载.properties文件
    }
    
    @Test
    public void test01(){
        AuUser user = userSvc.getUser(21);
        System.out.println(user.getLogin_name());
    }
}

 

 

 

到此配置全部结束

提别注意:

UserMapper.xml必须与UserMapper.java dao接口名字一样 以及和<mapper namespace="com.tp.soft.dao.UserMapper" >匹配

 

posted @ 2017-07-10 15:53  L_O_V_E_Java  阅读(393)  评论(0编辑  收藏  举报