启动ssm整合的项目的时候,总会报ssm找不到service实现类jdbc.url异常,但是配置文件没有错误,不知道这是为什么,谢大神

jdbc-mysql.properties
建议带上jdbc.
jdbc.url=jdbc:mysql://localhost:3306/hrm?useUnicode=true&characterEncoding=utf8
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=root
log4j.properties
log4j.rootLogger=DEBUG, stdout
log4j.logger.org.apache=ERROR
log4j.logger.org.springframework=ERROR
log4j.logger.org.mybatis=DEBUG
log4j.logger.org.apache.http=ERROR
log4j.logger.com.netflix=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
mybatis-config.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"&
name="dialect" value="mysql" /&
name="logImpl" value="LOG4J" /&
applicationContext.xml
1.需要导入对应头文件
2.扫描service层
3.加载数据库配置信息 一般为properties文件
4.配置数据库连接池,一般为c3p0或者dbcp
5.配置sqlSessionFactory类
6.配置事务管理器(需要一个管理器类和一个上面连接池的引入)
7.把事务管理器增强,就是配置自定义的事务
8.设置aop,切入点。
&?xml version="1.0" encoding="UTF-8"?&
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:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"&
base-package="com.lzh.hrm.service"/&
location="classpath:jdbc-mysql.properties"/&
id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
p:url="${jdbc.url}"
p:driverClassName="${jdbc.driverClassName}"
p:username="${jdbc.username}"
p:password="${jdbc.password}"/&
id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource"
p:mapperLocations="classpath:mybatis/mapper/*.xml"
//扫描与dao层接口名相同的.xml配置文件,完成依赖,不用写dao实现类
p:typeAliasesPackage="com.lzh.hrm.entity"
//给实体类起别名。默认的是类的类名小写,在mapper.xml文件可以直接用别名引用,无需在引入全包名。
p:configLocation="classpath:mybatis/mybatis-config.xml"/&
// mybatis的配置文件设置方言。日志什么的
class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="com.lzh.hrm.dao"/&
//扫描这个包下面的dao接口,与xml文件意义对应,注意接口名和xml文件名一定要一样
id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource"/&
id="txAdvice"
transaction-manager="transactionManager"&
name="get*" read-only="true"/&
name="save*" propagation="REQUIRED" rollback-for="Exception"/&
name="delete*" propagation="REQUIRED" rollback-for="Exception"/&
name="update*" propagation="REQUIRED" rollback-for="Exception"/&
expression="execution(* com.lzh.hrm.service..*.*(..))" id="businessService"/&
advice-ref="txAdvice" pointcut-ref="businessService"/&
UserDao.xml配置文件(7个常用方法。)
注意:namespace一定要写dao层的接口全类名
&?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.lzh.hrm.dao.UserDao"&
&sql id="key"&
&trim suffixOverrides=","&
&if test="loginname!=null"&
loginname,
&if test="password!=null"&
&if test="status!=null"&
&if test="createdate!=null"&
createdate,
&if test="username!=null"&
&sql id="value"&
&trim suffixOverrides=","&
&if test="loginname!=null"&
&if test="password!=null"&
&if test="status!=null"&
&if test="createdate!=null"&
&if test="username!=null"&
&select id="getById" resultType="user"&
loginname,
createdate,
&select id="getByloginnameAndPassWord" resultType="user"&
loginname,
createdate,
loginname=
&insert id="save" parameterType="user"&
insert into user_inf(&include refid="key"/&) values(&include refid="value"/&)
&delete id="delete"&
delete from user_inf where id=
&update id="update" parameterType="user"&
update user_inf
&if test="loginname!=null"&
loginname=
&if test="password!=null"&
&if test="status!=null"&
&if test="createdate!=null"&
createdate=
&if test="username!=null"&
&select id="getAll" resultType="user"&
loginname,
createdate,
from user_inf
&select id="count"
resultType="int"&
&if test="pid!=null"&
&if test="pname!=null"&
and loginname like concat(concat("%",
&select id="getByPage" resultType="user"&
loginname,
createdate,
&if test="pid!=null"&
&if test="pname!=null"&
and loginname like concat(concat("%",
&if test="start!=null and pageSize!=null"&
docuemnt类的mapper文件
&?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"&
namespace="com.lzh.hrm.dao.DocumentDao"&
//需要特别注意的是,这里document类是个特别的类,里面包含了user类,所以需要使用resultMap指定一下
type="document" id="documentMap"&
column="document_id" property="id"/&
column="document_title" property="title"/&
column="document_filename" property="filename"/&
column="document_remark" property="remark"/&
column="document_createDate" property="createDate"/&
property="user" column="user_id" javaType="user"&
column="user_id" property="id"/&
column="user_loginname" property="loginname"/&
id="save" parameterType="document"&
insert into
document_inf(title,filename,remark,create_date,user_id)
(#{title},#{filename},#{remark},#{createDate},#{user.id})
id="getById" resultMap="documentMap"&
d.id document_id,
d.title document_title,
d.filename document_filename,
d.remark document_remark,
d.create_date document_createDate,
u.id user_id,
u.loginname user_loginname
document_inf d,user_inf u
d.user_id = u.id and d.id=#{id}
id="update" parameterType="document"&
document_inf
test="title!=null"&
title=#{title},
test="filename!=null"&
filename=#{filename},
test="remark!=null"&
remark=#{remark},
id="delete"&
delete from
document_inf
id="getByPage" parameterType="map" resultMap="documentMap"&
d.id document_id,
d.title document_title,
d.filename document_filename,
d.remark document_remark,
d.create_date document_createDate,
u.id user_id,
u.loginname user_loginname
document_inf d,
user_inf u
d.user_id = u.id
test="pid!=null"&
and d.id =#{pid}
test="pname!=null"&
and d.title like concat(concat("%",#{pname}),"%")
test="start!=null and pageSize!=null"&
limit #{start},#{pageSize}
id="count" parameterType="map" resultType="int"&
document_inf
test="pid!=null"&
id =#{pid}
test="pname!=null"&
and title like concat(concat("%",#{pname}),"%")
spring-mvc.xml
1.扫描 controller层
2.启用默认的配置
3.视图解析
4.权限检查拦截器
5.上传文件
&?xml version="1.0" encoding="UTF-8"?&
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"&
base-package="com.lzh.hrm.controller"/&
id="fastjson" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"&
name="supportedMediaTypes"&
&text/charset=UTF-8&
&application/charset=UTF-8&
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp"/&
path="/**"/&
//拦截所有请求
class="com.shaokp.hrm.interceptor.AuthorizedInterceptor"/& //自定义拦截器的类
id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:maxUploadSize=""
p:defaultEncoding="UTF-8"/&
controller层上传文件
注意:前台form表单需要加enctype=”multipart/form-data”属性,数据用FormData类包装,ajax的那几个属性一定得带上
&%@ page language="java" contentType="text/ charset=UTF-8"
pageEncoding="UTF-8"%&
id="addDocForm"
method="post" enctype="multipart/form-data"&
style="width:400margin:0margin-top:50"&
style="width:100text-align:padding-right:30px"& for="title"&标题:&&
id="title"
type="text" name="title"
colspan="2"&/&&
style="width:100text-align:padding-right:30px"& for="remark"&标记&&
id="remark"
type="text" name="remark"
colspan="2"&/&&
style="width:100text-align:padding-right:30px" & for="s-file"&文件:&&
id="file" id="s-file" type="file" name="file" /&
colspan="2"&/&&
style="width:100text-align:padding-right:30px"&&
id="btn" href="javascript:void(0)" onclick="saveAdd()" class="easyui-linkbutton" data-options=""&提交&
id="btn" href="javascript:void(0)" onclick="cancelAdd()" class="easyui-linkbutton" data-options=""&取消&
function saveAdd(){
var formData = new FormData($( "#addDocForm" )[0]);
url: './doc/saveDoc' ,
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (data) {
console.log(data);
if(data=="ok"){
$('#win-addDoc').window('close');
$('#dg-docList').datagrid('reload');
function cancelAdd(){
$('#win-addDoc').window('close');
@RequestMapping("/doc/saveDoc")
@ResponseBody
public String saveDept(Document doc,HttpSession session)throws Exception{
//获取上传文件路径
String path = session.getServletContext().getRealPath("/").replace("\\hrm-lzh", "")
System.out.println(path)
path+="hrm-upload"
System.out.println(path)
User user = (User)session.getAttribute("user")
//获取上传文件名称 --存储时使用uuid作为文件名的前缀
//使用uuid文件名
String uuid
= UUID.randomUUID().toString()
uuid=uuid.replace("-", "")
System.out.println(doc)
String filename =uuid+"date_"+doc.getFile().getOriginalFilename()
System.out.println(filename)
//将上传的文件保存到文件夹中
File dir=new File(path)
if(!dir.exists()){
dir.mkdirs()
System.out.println(path+File.separator+filename)
doc.getFile().transferTo(new File(path+File.separator+filename))
//把文档信息插入数据库
doc.setFilename(filename)
doc.setUser(user)
hrmService.addDocument(doc)
return "ok"
根据id来得到doc类,注意前台要用超链接的方式访问,不能用ajax来访问!!!!
@RequestMapping("/doc/download")
public ResponseEntity&byte[]&
download(Integer id,HttpSession session,HttpServletResponse response) throws Exception{
Document doc = hrmService.findDocumentById(id)
String path = session.getServletContext().getRealPath("/").replace("\\hrm-lzh", "")
path+="hrm-upload"
File file = new File(path+File.separator+doc.getFilename())
HttpHeaders headers = new HttpHeaders()
String downloadFilename = new String(doc.getFilename().getBytes("utf-8"),"iso-8859-1")
downloadFilename=downloadFilename.substring(37)
headers.setContentDispositionFormData("attachment", downloadFilename)
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM)
return new ResponseEntity&byte[]&(FileUtils.readFileToByteArray(file),headers,HttpStatus.CREATED)
spring-mvc的拦截器
package com.shaokp.hrm.
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.springframework.web.servlet.HandlerI
import org.springframework.web.servlet.ModelAndV
import com.shaokp.hrm.entity.U
public class AuthorizedInterceptor implements HandlerInterceptor{
private static final String[] LOGIN_URI={"/login","/loginCheck","404.html"};
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
boolean flag=false;
String servletPath = request.getServletPath();
for(String path:LOGIN_URI){
if(servletPath.contains(path)){
flag=true;
if(!flag){
User user = (User)request.getSession().getAttribute("user");
if(user==null){
request.setAttribute("message", "请先登录再访问网站");
request.getRequestDispatcher("/login").forward(request,response);
flag=true;
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
web.xml文件
1.配置spring配置文件所在位置
2.配置spring容器监听器
3.配置springmvc核心控制器
4.设置编码过滤器
5.设置自定义过滤器(可选)
6.配置WEB-INF下的jsp访问(可选)
&?xml version="1.0" encoding="UTF-8"?&
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"&
&contextConfigLocation&
&classpath:spring/applicationContext.xml&
&org.springframework.web.context.ContextLoaderListener&
&org.springframework.web.servlet.DispatcherServlet&
&contextConfigLocation&
&classpath:spring/spring-mvc.xml&
&characterEncoding&
&org.springframework.web.filter.CharacterEncodingFilter&
&encoding&
&characterEncoding&
&myfilter&
&com.lzh.hrm.util.MyFilter&
&myfilter&
&*.action&
&/login.jsp&
&/404.html&
&/WEB-INF/jsp/head.jsp&
&/user/head.jsp&
&/WEB-INF/jsp/tabs.jsp&
&/user/tabs.jsp&
//配置jsp默认配置
&/WEB-INF/jsp/taglib.jsp&
pom.xml文件
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&
&0.0.1-SNAPSHOT&
&4.0.2.RELEASE&
&net.sf.json-lib&
&json-lib&
&commons-dbcp&
&commons-dbcp&
&org.springframework&
&spring-core&
&${spring.version}&
&org.springframework&
&spring-web&
&${spring.version}&
&org.springframework&
&spring-orm&
&${spring.version}&
&org.springframework&
&spring-tx&
&${spring.version}&
&org.springframework&
&spring-jdbc&
&${spring.version}&
&org.springframework&
&spring-webmvc&
&${spring.version}&
&org.springframework&
&spring-aop&
&${spring.version}&
&org.springframework&
&spring-context-support&
&${spring.version}&
&org.springframework&
&spring-test&
&${spring.version}&
&org.mybatis&
&org.mybatis&
&mybatis-spring&
&commons-fileupload&
&commons-fileupload&
&commons-io&
&commons-io&
&mysql-connector-java&
&org.codehaus.jackson&
&jackson-core-asl&
&org.codehaus.jackson&
&jackson-mapper-asl&
&standard&
&${log4j.version}&
&org.slf4j&
&slf4j-api&
&${slf4j.version}&
&org.slf4j&
&slf4j-log4j12&
&${slf4j.version}&
&org.aspectj&
&aspectjrt&
&org.aspectj&
&aspectjweaver&
&maven-compiler-plugin&
&org.apache.maven.plugins&
&maven-jar-plugin&
ssm框架中的配置文件
转自http://blog.csdn.net/yijiemamin/article/details/spring+springmvc+mybatis框架中用到了三个XML配置文件:we...
SSM配置文件详解
这几天一直在整合SSM框架,虽然网上有很多已经整合好的,但是对于里面的配置文件并没有进行过多的说明,很多人知其然不知其所以然,经过几天的搜索和整理,今天总算对其中的XML配置文件有了一定的了解,所以拿...
搭建ssm框架项目基本原理和主要的配置文件小结
1.springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。springmvc是一个基于mvc的web框架。mvc的思想大家已经很熟悉了,简称“Mo...
SSM(使用配置文件)
SSM框架集成的搭建在此博主为大家记录配置Spring,Spring MVC,以及Mybaties三个框架的流程
总共需要分以下几步引入所需Jar包
博主的文件结构是
编写web.xml
首先自然是我们常见到的jdbc.properties. #jdbc驱动类
driver=com.mysql.jdbc.Driver
#服务器url
url=jdbc:mysql://localhos...
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon
目录(?)[+]SpringMvc架构流程图博...
web.xml文件&?xml version=&1.0& encoding=&UTF-8&?&
&web-app xm...
建立maven工程,配置好pom,接下来就是web.xml配置。
这个地方走过许多弯路,springmvc相关配置其实不多,理清相互的关系即可。初次配置,建议功能一个一个加,或者将文件拆分,一部分...
整合ssm框架之配置文件
一.applicationContext.xml
1.配置数据源
maven-ssm框架基本整合之配置文件的配置
首先说一下为什么要写这个吧!
这篇博客是对maven的ssm框架整合的一些基本配置,有了以下配置,一个ssm小demo就可以运行起来了.
本人之前也是使用的ssh框架,刚学完ssm,就写下了这篇文章,...
没有更多推荐了,扫一扫体验手机阅读
SSM框架Spring+SpringMVC+MyBatis——详细整合教程
<span type="1" blog_id="2150323" userid='
183篇文章,2W+人气,0粉丝
大数据时代的微服务之路
¥51.00508人订阅
前百度高级工程师的架构高可用实战
¥51.00243人订阅
<span type="1" blog_id="2150323" userid='SSM框架整合
mybatis逆向工程
商品列表分页处理
SSM框架整合
2.1. 后台系统所用的技术
框架:Spring + SpringMVC +Mybatis
前端:EasyUI
数据库:mysql
2.2. 创建数据库
1、安装mysql数据库
2、在mysql中创建一个taotao数据库
3、导入数据库脚本。
2.3. Mybatis逆向工程
执行逆向工程
使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和mapper映射文件。
2.4. 整合思路
1、Dao层:
mybatis整合spring,通过spring管理SqlSessionFactory、mapper代理对象。需要mybatis和spring的整合包。
Taotao-mangaer-pojo
Mapper映射文件
Taotao-mangaer-mapper
Mapper接口
Taotao-mangaer-mapper
sqlmapConfig.xml
Taotao-manager-web
applicationContext-dao.xml
Taotao-manager-web
2、Service层:
所有的实现类都放到spring容器中管理。由spring创建数据库连接池,并有spring管理实务。
Service接口及实现类
Taotao-mangaer-service
applicationContext-service.xml
Taotao-manager-web
applicationContext-trans.xml
Taotao-manager-web
3、表现层:
Springmvc整合spring框架,由springmvc管理controller。
springmvc.xml
Taotao-manager-web
Controller
Taotao-manager-web
2.5. Dao整合
创建SqlMapConfig.xml配置文件
version="1.0"
encoding="UTF-8"
configuration
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"&
&configuration&
&/configuration&
Spring整合mybatis
创建applicationContext-dao.xml
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"&
&!-- 数据库连接池 --&
&!-- 加载配置文件 --&
&context:property-placeholder
location="classpath:properties/*.properties"
&!-- 数据库连接池 --&
id="dataSource"
class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close"&
name="url"
value="${jdbc.url}"
name="username"
value="${jdbc.username}"
name="password"
value="${jdbc.password}"
name="driverClassName"
value="${jdbc.driver}"
name="maxActive"
value="10"
name="minIdle"
&!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --&
id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean"&
&!-- 数据库连接池 --&
name="dataSource"
ref="dataSource"
&!-- 加载mybatis的全局配置文件 --&
name="configLocation"
value="classpath:mybatis/SqlMapConfig.xml"
class="org.mybatis.spring.mapper.MapperScannerConfigurer"&
name="basePackage"
value="com.taotao.mapper"
db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。
Druid已经在阿里巴巴部署了超过600个应用,经过多年多生产环境大规模部署的严苛考验。
2.6. Service整合
管理Service实现类
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"&
&context:component-scan
base-package="com.taotao.service"/&
创建applicationContext-trans.xml
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"&
&!-- 事务管理器 --&
id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&
&!-- 数据源 --&
name="dataSource"
ref="dataSource"
&!-- 通知 --&
&tx:advice
id="txAdvice"
transaction-manager="transactionManager"&
&tx:attributes&
&!-- 传播行为 --&
&tx:method
name="save*"
propagation="REQUIRED"
&tx:method
name="insert*"
propagation="REQUIRED"
&tx:method
name="add*"
propagation="REQUIRED"
&tx:method
name="create*"
propagation="REQUIRED"
&tx:method
name="delete*"
propagation="REQUIRED"
&tx:method
name="update*"
propagation="REQUIRED"
&tx:method
name="find*"
propagation="SUPPORTS"
read-only="true"
&tx:method
name="select*"
propagation="SUPPORTS"
read-only="true"
&tx:method
name="get*"
propagation="SUPPORTS"
read-only="true"
&/tx:attributes&
&/tx:advice&
&!-- 切面 --&
&aop:config&
&aop:advisor
advice-ref="txAdvice"
pointcut="execution(* com.taotao.service.*.*(..))"
&/aop:config&
2.7. 表现层整合
Springmvc.xml
version="1.0"
encoding="UTF-8"?&
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"&
&context:component-scan
base-package="com.taotao.controller"
&mvc:annotation-driven
class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
name="prefix"
value="/WEB-INF/jsp/"
name="suffix"
value=".jsp"
version="1.0"
encoding="UTF-8"?&
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID"
version="2.5"&
&display-name&taotao-manager-web&/display-name&
&welcome-file-list&
&welcome-file&login.html&/welcome-file&
&/welcome-file-list&
&!-- 加载spring容器 --&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:spring/applicationContext*.xml&/param-value&
&/context-param&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
&!-- 解决post乱码 --&
&filter-name&CharacterEncodingFilter&/filter-name&
&filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&
&init-param&
&param-name&encoding&/param-name&
&param-value&utf-8&/param-value&
&/init-param&
&!-- &init-param&
&param-name&forceEncoding&/param-name&
&param-value&true&/param-value&
&/init-param& --&
&filter-mapping&
&filter-name&CharacterEncodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&!-- springmvc的前端控制器 --&
&servlet-name&taotao-manager&/servlet-name&
&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
&!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation,
springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --&
&init-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:spring/springmvc.xml&/param-value&
&/init-param&
&load-on-startup&1&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&taotao-manager&/servlet-name&
&url-pattern&/&/url-pattern&
&/servlet-mapping&
&/web-app&
整合静态页面
静态页面位置:02.第二天(三大框架整合,后台系统搭建)\01.参考资料\后台管理系统静态页面
把静态页面添加到taotao-manager-web工程中的WEB-INF下:
由于在web.xml中定义的url拦截形式为“/”表示拦截所有的url请求,包括静态资源例如css、js等。所以需要在springmvc.xml中添加资源映射标签:
&mvc:resources
location="/WEB-INF/js/"
mapping="/js/**"/&
&mvc:resources
location="/WEB-INF/css/"
mapping="/css/**"/&
2.8. 修改taotao-manager-mapper的pom文件
在pom文件中添加如下内容:
&!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 --&
&resources&
&resource&
&directory&src/main/java&/directory&
&includes&
&include&**/*.properties&/include&
&include&**/*.xml&/include&
&/includes&
&filtering&false&/filtering&
&/resource&
&/resources&
2.9. 整合测试
根据商品id查询商品信息。
商品列表查询
3.1. 商品列表页面
对应的jsp为:
item-list.jsp
请求的url:
/item/list
请求的参数:
page=1&rows=30
响应的json数据格式:
Easyui中datagrid控件要求的数据格式为:
{total:”2”,rows:[{“id”:”1”,”name”,”张三”},{“id”:”2”,”name”,”李四”}]}
3.2. 响应的json数据格式EasyUIResult
class EasyUIResult {
private Integer
private List&?&
public EasyUIResult(Integer
total, List&?& rows) {
this.total =
this.rows =
public EasyUIResult(Long
total, List&?& rows) {
this.total =
total.intValue();
this.rows =
public Integer getTotal() {
void setTotal(Integer total) {
this.total =
public List&?& getRows() {
void setRows(List&?& rows) {
this.rows =
3.3. 分页处理
Mybatis分页插件 - PageHelper说明
如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
第一步:在Mybatis配置xml中配置拦截器插件:
&!-- com.github.pagehelper为PageHelper类所在包名 --&
&plugininterceptor="com.github.pagehelper.PageHelper"&
&!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库--&
&propertyname="dialect"value="mysql"/&
&/plugins&
第二步:在代码中使用
1、设置分页信息:
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1,
//紧跟着的第一个select方法会被分页
List&Country& list
= countryMapper.selectIf(1);
2、取分页信息
//分页后,实际返回的结果list类型是Page&E&,如果想取出分页信息,需要强制转换为Page&E&,
Page&Country& listCountry = (Page&Country&)
listCountry.getTotal();
3、取分页信息的第二种方法
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1,
List&Country& list
= countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page=new PageInfo(list);
//测试PageInfo全部属性
//PageInfo包含了非常全面的分页属性
assertEquals(1, page.getPageNum());
assertEquals(10, page.getPageSize());
assertEquals(1, page.getStartRow());
assertEquals(10, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(19, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(8, page.getLastPage());
assertEquals(true, page.isFirstPage());
assertEquals(false, page.isLastPage());
assertEquals(false, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());
3.4. Mapper
使用逆向工程生成的mapper文件。
3.5. Service
class ItemServiceImpl implements ItemService {
@Autowired
private TbItemMapper
itemMapper;
EasyUIResult getItemList(Integer page, Integer
rows) throws Exception {
TbItemExample example =
new TbItemExample();
//设置分页
PageHelper.startPage(page,
List&TbItem& list =
itemMapper.selectByExample(example);
//取分页信息
PageInfo&TbItem& pageInfo =
new PageInfo&&(list);
total = pageInfo.getTotal();
EasyUIResult result =
new EasyUIResult(total,
returnresult;
3.6. Controller
@Controller
@RequestMapping("/item")
class ItemController {
@Autowired
private ItemService
itemService;
@RequestMapping("/list")
//设置相应的内容为json数据
@ResponseBody
public EasyUIResult getItemlist(@RequestParam(defaultValue="1")Integer
@RequestParam(defaultValue="30")Integer
rows) throws Exception {
//查询商品列表
EasyUIResult result =
itemService.getItemList(page,
【ssm个人博客项目实战02】easy UI搭建后台管理界面
前面一节我们已经成功搭建ssm项目的环境,接下来我们需要做的就是搭建我们后台管理界面的框架。
这搭建完之后的效果图
基于easy UI搭建后台界面jQuery EasyUI是一组基于jQuery的...
整合ssm框架 - 淘淘项目
整合ssm框架
整合的思路
一、Dao层:整合mybatis和spring
需要的jar包:
1、mybatis的jar包
2、Mysql数据库驱动
3、数据库连接池
4、Mybatis...
基于SpringMVC +Spring +Mybatis
+ Layui的通用后台管理系统OneManageV2.0
利用业余时间自己搞了一个小框架,很适合毕业设计或者小项目在此基础上进行二次开发,废话不多说,请看下面介绍。一:运行预览
预览地址:OneManage后台系统 《----点击查看
用户:ad...
ssm后台管理系统框架(Spring mvc + mybatis + mysql + easyui )
ssm后台管理系统框架(Spring mvc + mybatis + mysql + easyui )源码下载
经过测试可以正确启动运行,mysql脚本在如图文件内项目层级访问路径datasouce...
前端时间用来整合自己会的东西,也萌生了做一个开源系统的想法。
还在逐步实现过程中。
github:https://github.com/jiandi1027/newssm
框架主要采用ssm+s...
后台采用Spring+SpringMvc+MyBatis,前端使用Easyui,数据库采用MySql实现的一套权限管理系统。项目地址:https://github.com/cskun/rds-sys项...
1. spring security
基于ssm的场地管理系统
github地址: https://github.com/whirlys/space_ssm
目录基于ssm的场地管理系统
项目介绍需求说明
使用到的技术及插件
SSM项目之---淘淘商城(第一天)
注:xx商城是某培训网站出的SSM培训视频,使用的技术还是现在比较靠前的技术~源码会在以后陆续放出~想要源码以及视频的小伙伴可以加本人qq,,
1 课程计划
一共14天课程
1、第一...
没有更多推荐了,

我要回帖

更多关于 ssm新加方法报找不到方法 的文章

 

随机推荐