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" >匹配