<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<link rel="canonical" href="http://blog.csdn.net/zmx729618/article/details/51895826"/> | |
<meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" /> | |
<meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848"> | |
<title>SpringMVC+Spring+Mybatis整合配置 - 零度的博客专栏 | |
- 博客频道 - CSDN.NET</title> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
<meta name="description" content="1、Maven依赖文件:pom.xml<project 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.apach" /> | |
<meta name="keywords" content="spring,spring mvc,Mybatis" /> | |
<script src="http://static.blog.csdn.net/scripts/blog_static_head.min.js" type="text/javascript"></script> | |
<!--new top--> | |
<!--new top--> | |
<!-- ad begin --> | |
<!-- ad end--> | |
<link rel="Stylesheet" type="text/css" href="http://static.blog.csdn.net/skin/default/css/style.css?v=1.1" /> | |
<link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="/zmx729618/rss/list" /> | |
<link rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico" /> | |
<link type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/default.css" /> | |
<link href="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.css" type="text/css" rel="stylesheet" /> | |
<link rel="stylesheet" href="http://static.blog.csdn.net/css/csdn_blog_detail.min.css" /> | |
<!-- 请置于所有广告位代码之前 --> | |
<script src="http://dup.baidustatic.com/js/ds.js"></script> | |
</head> | |
<body> | |
<div class="tracking-ad" data-view="true" data-mod="ad_popu_72" data-mtp="62" data-order="40" data-con="ad_content_2072" > | |
<script id="popuLayer_js_q" src="http://ads.csdn.net/js/popuLayer.js" defer="defer" type="text/javascript"></script> | |
<div id="layerd" style="position: fixed;bottom:0px;right:0px;line-height:0px;z-index:1000"> | |
<div class="J_close layer_close" style="display:;background-color:#efefef;padding:0px;color:#333;font:12px/24px Helvetica,Tahoma,Arial,sans-serif;text-align:right;">关闭</div><!-- 广告占位容器 --><div id="cpro_u2895327"></div></div> | |
<script> document.getElementById("popuLayer_js_q").onload = function () { var styObjd = styObj = { width: "300px", "height": parseInt(250) + 28 }; window.CSDN.Layer.PopuLayer("#layerd", { storageName: "layerd", styleObj: styObjd, total: 50, expoire: 1000 * 60 }); }</script><!-- 投放代码 --><script type="text/javascript"> /*服务器频道首页置顶Banner960*90,创建于2014-7-3*/ (window.cproArray = window.cproArray || []).push({ id: "u2895327" }); </script> <script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript"></script> | |
</div> | |
<!-- 广告位开始 --> | |
<!-- 广告位结束 --> | |
<!--new top--> | |
<script id="toolbar-tpl-scriptId" fixed="true" prod="blog" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/html.js" type="text/javascript"></script> | |
<!--new top--> | |
<div id="container"> | |
<div id="header"> | |
<div class="header"> | |
<div id="blog_title"> | |
<h2> | |
<a href="http://blog.csdn.net/zmx729618">零度的博客专栏</a></h2> | |
<h3>全栈式学徒长成记--工欲善其事必先利其器,不积小流无以成江海,不积跬步无以至千里!</h3> | |
<div class="clear"> | |
</div> | |
</div> | |
<div class="clear"> | |
</div> | |
</div> | |
</div> | |
<div id="navigator"> | |
<div class="navigator_bg"> | |
</div> | |
<div class="navigator"> | |
<ul> | |
<li id="btnContents"><a href="http://blog.csdn.net/zmx729618?viewmode=contents"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])"> | |
<img src="http://static.blog.csdn.net/images/ico_list.gif">目录视图</span></a></li> | |
<li id="btnView"><a href="http://blog.csdn.net/zmx729618?viewmode=list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])"> | |
<img src="http://static.blog.csdn.net/images/ico_summary.gif">摘要视图</span></a></li> | |
<li id="btnRss"><a href="http://blog.csdn.net/zmx729618/rss/list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])"> | |
<img src="http://static.blog.csdn.net/images/ico_rss.gif">订阅</span></a></li> | |
</ul> | |
</div> | |
</div> | |
<script type="text/javascript"> | |
var username = "zmx729618"; | |
var _blogger = username; | |
var blog_address = "http://blog.csdn.net/zmx729618"; | |
var static_host = "http://static.blog.csdn.net"; | |
var currentUserName = "zp654337303"; | |
</script> | |
<div id="body"> | |
<div id="main"> | |
<div class="main"> | |
<div class="ad_class"> | |
<div class="notice tracking-ad" data-mod='popu_3' > | |
<a href="http://blog.csdn.net/blogdevteam/article/details/72917467"> | |
<font color=red><strong>征文 | 从高考,到程序员</strong></font></a> | |
  | |
<a href="http://blog.csdn.net/blogdevteam/article/details/73817254"> | |
<font color=blue><strong>CSDN日报20170627——《回眸后那流泪的脸——从高考到程序猿》</strong></font></a> | |
  | |
<a href="http://blog.csdn.net/turingbooks/article/details/73480804"> | |
<font color=red><strong>6 月书讯 | 最受欢迎的 SQL 入门书重磅升级</strong></font></a> | |
</div> </div> | |
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/category.js"></script> | |
<script type="text/ecmascript"> | |
window.quickReplyflag = true; | |
var isBole = false; | |
var fasrc="http://my.csdn.net/my/favorite/miniadd?t=SpringMVC%2bSpring%2bMybatis%e6%95%b4%e5%90%88%e9%85%8d%e7%bd%ae&u=http://blog.csdn.net/zmx729618/article/details/51895826" | |
</script> | |
<div id="article_details" class="details"> | |
<div class="article_title"> | |
<span class="ico ico_type_Original"></span> | |
<h1> | |
<span class="link_title"><a href="/zmx729618/article/details/51895826"> | |
SpringMVC+Spring+Mybatis整合配置 | |
</a></span> | |
</h1> | |
</div> | |
<div class="article_manage clearfix"> | |
<div class="article_l"> | |
<span class="link_categories"> | |
标签: | |
<a href='http://www.csdn.net/tag/spring' target=_blank onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">spring</a><a href='http://www.csdn.net/tag/spring%20mvc' target=_blank onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">spring mvc</a><a href='http://www.csdn.net/tag/Mybatis' target=_blank onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">Mybatis</a> | |
</span> | |
</div> | |
<div class="article_r"> | |
<span class="link_postdate">2016-07-13 11:18</span> | |
<span class="link_view" title="阅读次数">665人阅读</span> | |
<span class="link_comments" title="评论次数"> <a href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span> | |
<span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" onclick="javascript:collectArticle('SpringMVC%2bSpring%2bMybatis%e6%95%b4%e5%90%88%e9%85%8d%e7%bd%ae','51895826');return false;" title="收藏">收藏</a></span> | |
<span class="link_report"> <a href="#report" onclick="javascript:report(51895826,2);return false;" title="举报">举报</a></span> | |
</div> | |
</div> | |
<div class="embody" style="display:none" id="embody"> | |
<span class="embody_t">本文章已收录于:</span> | |
<div class="embody_c" id="lib" value="{"err":0,"msg":"ok","data":[]}"></div> | |
</div> | |
<style type="text/css"> | |
.embody{ | |
padding:10px 10px 10px; | |
margin:0 -20px; | |
border-bottom:solid 1px #ededed; | |
} | |
.embody_b{ | |
margin:0 ; | |
padding:10px 0; | |
} | |
.embody .embody_t,.embody .embody_c{ | |
display: inline-block; | |
margin-right:10px; | |
} | |
.embody_t{ | |
font-size: 12px; | |
color:#999; | |
} | |
.embody_c{ | |
font-size: 12px; | |
} | |
.embody_c img,.embody_c em{ | |
display: inline-block; | |
vertical-align: middle; | |
} | |
.embody_c img{ | |
width:30px; | |
height:30px; | |
} | |
.embody_c em{ | |
margin: 0 20px 0 10px; | |
color:#333; | |
font-style: normal; | |
} | |
</style> | |
<script type="text/javascript"> | |
$(function () { | |
try | |
{ | |
var lib = eval("("+$("#lib").attr("value")+")"); | |
var html = ""; | |
if (lib.err == 0) { | |
$.each(lib.data, function (i) { | |
var obj = lib.data[i]; | |
//html += '<img src="' + obj.logo + '"/>' + obj.name + " "; | |
html += ' <a href="' + obj.url + '" target="_blank">'; | |
html += ' <img src="' + obj.logo + '">'; | |
html += ' <em><b>' + obj.name + '</b></em>'; | |
html += ' </a>'; | |
}); | |
if (html != "") { | |
setTimeout(function () { | |
$("#lib").html(html); | |
$("#embody").show(); | |
}, 100); | |
} | |
} | |
} catch (err) | |
{ } | |
}); | |
</script> | |
<div class="category clearfix"> | |
<div class="category_l"> | |
<img src="http://static.blog.csdn.net/images/category_icon.jpg"> | |
<span>分类:</span> | |
</div> | |
<div class="category_r"> | |
<label onclick="GetCategoryArticles('6309398','zmx729618','top','51895826');"> | |
<span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">Mybatis<em>(6)</em></span> | |
<img class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display:inline;"> | |
<img class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display:none;"> | |
<div class="subItem"> | |
<div class="subItem_t"><a href="http://blog.csdn.net/zmx729618/article/category/6309398" target="_blank">作者同类文章</a><i class="J_close">X</i></div> | |
<ul class="subItem_l" id="top_6309398"> | |
</ul> | |
</div> | |
</label> | |
<label onclick="GetCategoryArticles('3108443','zmx729618','top','51895826');"> | |
<span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">Java<em>(125)</em></span> | |
<img class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display:inline;"> | |
<img class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display:none;"> | |
<div class="subItem"> | |
<div class="subItem_t"><a href="http://blog.csdn.net/zmx729618/article/category/3108443" target="_blank">作者同类文章</a><i class="J_close">X</i></div> | |
<ul class="subItem_l" id="top_3108443"> | |
</ul> | |
</div> | |
</label> | |
<label onclick="GetCategoryArticles('6168885','zmx729618','top','51895826');"> | |
<span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">Spring<em>(26)</em></span> | |
<img class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display:inline;"> | |
<img class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display:none;"> | |
<div class="subItem"> | |
<div class="subItem_t"><a href="http://blog.csdn.net/zmx729618/article/category/6168885" target="_blank">作者同类文章</a><i class="J_close">X</i></div> | |
<ul class="subItem_l" id="top_6168885"> | |
</ul> | |
</div> | |
</label> | |
</div> | |
</div> | |
<div class="bog_copyright"> | |
<p class="copyright_p" >版权声明:本文为博主原创文章,未经博主允许不得转载。</p> | |
</div> | |
<div id="article_content" class="article_content tracking-ad" data-mod=popu_307 data-dsm = "post" > | |
<h3>1、Maven依赖文件:pom.xml</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_1_4959713" class="html" name="code" snippet_file_name="blog_20160713_1_4959713" code_snippet_id="1759641"><project 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/maven-v4_0_0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>org.nercita.ltxx</groupId> | |
<artifactId>ssm.sample</artifactId> | |
<packaging>war</packaging> | |
<version>0.0.1-SNAPSHOT</version> | |
<name>ssm</name> | |
<url>http://maven.apache.org</url> | |
<properties> | |
<mysql.connector.version>5.1.21</mysql.connector.version> | |
<spring.version>4.1.6.RELEASE</spring.version> | |
<spring.security.version>3.2.3.RELEASE</spring.security.version> | |
<junit.version>4.12</junit.version> | |
<velocity.version>1.6.1</velocity.version> | |
<velocity.tools.version>2.0</velocity.tools.version> | |
<mock.version>2.0.8</mock.version> | |
<mybatis.version>3.3.1</mybatis.version> | |
<mybatis-spring.version>1.2.2</mybatis-spring.version> | |
</properties> | |
<dependencies> | |
<!-- velocity --> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-context-support</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.velocity</groupId> | |
<artifactId>velocity</artifactId> | |
<version>${velocity.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.velocity</groupId> | |
<artifactId>velocity-tools</artifactId> | |
<version>${velocity.tools.version}</version> | |
</dependency> | |
<!-- jsp support --> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>javax.servlet-api</artifactId> | |
<version>3.1.0</version> | |
<scope>provided</scope> | |
</dependency> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>jstl</artifactId> | |
<version>1.2</version> <!-- just used the latest version, make sure you use the one you need --> | |
<scope>provided</scope> | |
</dependency> | |
<!-- test support --> | |
<dependency> | |
<groupId>junit</groupId> | |
<artifactId>junit</artifactId> | |
<version>${junit.version}</version> | |
<scope>test</scope> | |
</dependency> | |
<!-- mybatis support --> | |
<dependency> | |
<groupId>org.mybatis</groupId> | |
<artifactId>mybatis</artifactId> | |
<version>${mybatis.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.mybatis</groupId> | |
<artifactId>mybatis-spring</artifactId> | |
<version>${mybatis-spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.commons</groupId> | |
<artifactId>commons-dbcp2</artifactId> | |
<version>2.0</version> | |
</dependency> | |
<dependency> | |
<groupId>mysql</groupId> | |
<artifactId>mysql-connector-java</artifactId> | |
<version>${mysql.connector.version}</version> | |
</dependency> | |
<!-- Spring support --> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-core</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-aop</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-context</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-context-support</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-jdbc</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-beans</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-web</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-expression</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-orm</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-oxm</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-aspects</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-tx</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-test</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<!-- spring mvc --> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-webmvc</artifactId> | |
<version>${spring.version}</version> | |
</dependency> | |
<!-- spring security --> | |
<dependency> | |
<groupId>org.springframework.security</groupId> | |
<artifactId>spring-security-core</artifactId> | |
<version>${spring.security.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.security</groupId> | |
<artifactId>spring-security-config</artifactId> | |
<version>${spring.security.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.security</groupId> | |
<artifactId>spring-security-taglibs</artifactId> | |
<version>${spring.security.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.security</groupId> | |
<artifactId>spring-security-web</artifactId> | |
<version>${spring.security.version}</version> | |
</dependency> | |
<!-- aspectj weaver.jar 这是SpringAOP所要用到的依赖包 --> | |
<dependency> | |
<groupId>org.aspectj</groupId> | |
<artifactId>aspectjweaver</artifactId> | |
<version>1.8.2</version> | |
</dependency> | |
<dependency> | |
<groupId>org.aspectj</groupId> | |
<artifactId>aspectjrt</artifactId> | |
<version>1.8.2</version> | |
</dependency> | |
</dependencies> | |
<build> | |
<finalName>ssm</finalName> | |
</build> | |
</project> | |
</pre> | |
<p class="html" name="code"><br> | |
</p> | |
<h3>2、web.xml</h3> | |
<p> web.xml规定了有哪些显式的servlet,规定了最顶层的Context环境,是整个的纲领。它同时规定了对于哪些URL的请求归哪些servlet处理,哪些URL使用哪种编码方式。需要注意的是,对于没有人为指定配置文件的servlet,会自动在WEB-INF文件夹下找servletName-servlet.xml的文件作为其配置。</p> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_2_150164" class="html" name="code" snippet_file_name="blog_20160713_2_150164" code_snippet_id="1759641"><?xml version="1.0" encoding="UTF-8"?> | |
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> | |
<display-name>SSM Web Application</display-name> | |
<context-param> | |
<param-name>contextConfigLocation</param-name> | |
<param-value>classpath*:applicationContext.xml</param-value> | |
<!--指定Context的配置文件--> | |
</context-param> | |
<!-- spring ContextLoaderListener 监听器 --> | |
<listener> | |
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | |
</listener> | |
<!-- 编码过滤器 --> | |
<filter> | |
<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> | |
<filter-mapping> | |
<filter-name>characterEncodingFilter</filter-name> | |
<url-pattern>/*</url-pattern> | |
</filter-mapping> | |
<!-- spring mvc DispatcherServlet --> | |
<servlet> | |
<servlet-name>ssm</servlet-name> | |
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> | |
<init-param> | |
<param-name>contextConfigLocation</param-name> | |
<param-value>classpath:config/webmvc-config.xml</param-value> | |
</init-param> | |
<load-on-startup>1</load-on-startup> | |
</servlet> | |
<servlet-mapping> | |
<servlet-name>ssm</servlet-name> | |
<url-pattern>/</url-pattern> | |
</servlet-mapping> | |
</web-app> | |
</pre> | |
<p><br> | |
</p> | |
<h3>3、applicationContext.xml</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_3_3912155" class="html" name="code" snippet_file_name="blog_20160713_3_3912155" code_snippet_id="1759641"><?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
<beans xmlns="http://www.springframework.org/schema/beans" | |
xmlns:aop="http://www.springframework.org/schema/aop" | |
xmlns:context="http://www.springframework.org/schema/context" | |
xmlns:jee="http://www.springframework.org/schema/jee" | |
xmlns:tx="http://www.springframework.org/schema/tx" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd | |
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/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd | |
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> | |
<!-- 引入属性文件 --> | |
<context:property-placeholder location="classpath*:/application.properties" /> | |
<context:spring-configured /> | |
<!-- 注解bean及依赖注入 --> | |
<context:component-scan base-package="com.zmx.ssm"> | |
<context:exclude-filter expression="org.springframework.stereotype.Controller" type="annotation" /> | |
</context:component-scan> | |
<!--数源设置--> | |
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" | |
destroy-method="close"> | |
<property name="driverClassName" value="${db.driverClass}" /> | |
<property name="url" value="${db.url}" /> | |
<property name="username" value="${db.username}" /> | |
<property name="password" value="${db.password}" /> | |
</bean> | |
<!--sqlSessionFactory--> | |
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> | |
<property name="dataSource" ref="dataSource" /> | |
<!--指定了Mybatis配置文件的路径--> | |
<property name="configLocation" value="classpath:mybatis-config.xml"/> | |
</bean> | |
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> | |
<constructor-arg index="0" ref="sqlSessionFactory" /> | |
</bean> | |
<!--这一段让我们的MapperInterface能够最终在Spring中生成Bean最后被AutoWired--> | |
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> | |
<property name="basePackage" value="com.zmx.ssm.**.dao" /> | |
</bean> | |
<bean id="transactionManager" | |
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> | |
<property name="dataSource" ref="dataSource" /> | |
</bean> | |
<!-- 开启注解事务 --> | |
<tx:annotation-driven transaction-manager="transactionManager"/> | |
</beans> | |
</pre> | |
<p class="html" name="code"><br> | |
application.properties</p> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_4_9310348" class="html" name="code" snippet_file_name="blog_20160713_4_9310348" code_snippet_id="1759641">#Mysql settings | |
db.url=jdbc:mysql://localhost:3306/ssm | |
db.driverClass=com.mysql.jdbc.Driver | |
db.username=root | |
db.password=0729</pre> | |
<p class="html" name="code"> </p> | |
<h3 class="html" name="code">4、mvc-config.xml</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_5_1992545" class="html" name="code" snippet_file_name="blog_20160713_5_1992545" code_snippet_id="1759641"><?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
<beans xmlns="http://www.springframework.org/schema/beans" | |
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" | |
xmlns:p="http://www.springframework.org/schema/p" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> | |
<!--处理对静态资源的访问--> | |
<mvc:resources location="/common/" mapping="/common/**"/> | |
<mvc:resources location="/images/" mapping="/images/**" /> | |
<mvc:resources location="/js/" mapping="/js/**" /> | |
<mvc:resources location="/css/" mapping="/css/**" /> | |
<mvc:resources location="/styles/" mapping="/styles/**" /> | |
<mvc:resources location="/htm/" mapping="/htm/**" /> | |
<import resource="view-controller.xml" /> | |
<context:annotation-config/> | |
<context:component-scan base-package="com.zmx.ssm" use-default-filters="false"> | |
<context:include-filter expression="org.springframework.stereotype.Controller" type="annotation" /> | |
</context:component-scan> | |
<!--规定模板文件的类型和位置--> | |
<bean id="velocityConfigurer" | |
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> | |
<property name="resourceLoaderPath" value="templates/" /> | |
<property name="velocityProperties"> | |
<props> | |
<prop key="input.encoding">utf-8</prop> | |
<prop key="output.encoding">utf-8</prop> | |
</props> | |
</property> | |
</bean> | |
<!--配置附加工具,以及将后缀为vm的文件交给下面的Resolver处理--> | |
<bean id="velocityViewResolver" | |
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"> | |
<property name="suffix" value=".vm" /> | |
<property name="contentType" value="text/html;charset=utf-8" /> | |
<property name="toolboxConfigLocation" value="/WEB-INF/toolbox.xml"/> | |
</bean> | |
</beans> | |
</pre> | |
<p class="html" name="code"><br> | |
</p> | |
<h4> </h4> | |
<h3>5、Mybatis配置:mybatis-config.xml</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_6_7947145" class="html" name="code" snippet_file_name="blog_20160713_6_7947145" code_snippet_id="1759641"><?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> | |
<package name="com.zmx.ssm.user.domain"/> | |
</typeAliases> | |
<mappers> | |
<mapper resource="mapper/UserMapper.xml" /> | |
<mapper resource="mapper/OrderMapper.xml"/> | |
</mappers> | |
<!-- | |
<typeAliases> | |
<package name="com.zmx.ssm.user.domain"/> | |
</typeAliases> | |
<environments default="development"> | |
<environment id="development"> | |
<transactionManager type="JDBC"/> | |
<dataSource type="POOLED"> | |
<property name="driver" value="com.mysql.jdbc.Driver"/> | |
<property name="url" value="jdbc:mysql://localhost:3306/ssm"/> | |
<property name="username" value="root"/> | |
<property name="password" value="0729"/> | |
</dataSource> | |
</environment> | |
</environments> | |
<mappers> | |
<mapper resource="mapper/UserMapper.xml"/> | |
<mapper resource="mapper/OrderMapper.xml"/> | |
</mappers> | |
--> | |
</configuration> </pre> | |
<p class="html" name="code"><br> | |
</p> | |
<h3><br> | |
6、velocity模板引擎:toolbox.xml </h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_6_4328437" class="html" name="code" snippet_file_name="blog_20160713_6_4328437" code_snippet_id="1759641"><?xml version="1.0" encoding="UTF-8"?> | |
<toolbox> | |
<tool> | |
<key>date</key> | |
<scope>request</scope> | |
<class> | |
org.apache.velocity.tools.generic.DateTool | |
</class> | |
<parameter name="format" value="yyyy-MM-dd HH:mm:ss"/> | |
</tool> | |
<tool> | |
<key>link</key> | |
<scope>request</scope> | |
<class>org.apache.velocity.tools.view.tools.LinkTool</class> | |
</tool> | |
<tool> | |
<key>stringUtils</key> | |
<scope>request</scope> | |
<class>org.apache.velocity.util.StringUtils</class> | |
</tool> | |
<tool> | |
<key>math</key> | |
<scope>application</scope> | |
<class>org.apache.velocity.tools.generic.MathTool</class> | |
</tool> | |
<tool> | |
<key>esc</key> | |
<scope>request</scope> | |
<class>org.apache.velocity.tools.generic.EscapeTool</class> | |
</tool> | |
<tool> | |
<key>params</key> | |
<scope>request</scope> | |
<class>org.apache.velocity.tools.view.tools.ParameterParser</class> | |
</tool> | |
</toolbox> | |
</pre> | |
<h3><br> | |
7、实体Bean</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_7_6254253" class="html" name="code" snippet_file_name="blog_20160713_7_6254253" code_snippet_id="1759641">package com.zmx.ssm.user.domain; | |
import java.util.List; | |
public class User { | |
private int id; | |
private String account; | |
private String password; | |
private List<Order> orderList; | |
public int getId() { | |
return id; | |
} | |
public void setId(int id) { | |
this.id = id; | |
} | |
public String getAccount() { | |
return account; | |
} | |
public void setAccount(String account) { | |
this.account = account; | |
} | |
public String getPassword() { | |
return password; | |
} | |
public void setPassword(String password) { | |
this.password = password; | |
} | |
public List<Order> getOrderList() { | |
return orderList; | |
} | |
public void setOrderList(List<Order> orderList) { | |
this.orderList = orderList; | |
} | |
@Override | |
public String toString() { | |
return "User [id=" + id + ", account=" + account + ", password=" | |
+ password + "]"; | |
} | |
} | |
</pre> | |
<p><br> | |
</p> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_8_8413060" class="html" name="code" snippet_file_name="blog_20160713_8_8413060" code_snippet_id="1759641">package com.zmx.ssm.user.domain; | |
public class Order { | |
private int id; | |
private double price; | |
private User user; | |
public int getId() { | |
return id; | |
} | |
public void setId(int id) { | |
this.id = id; | |
} | |
public double getPrice() { | |
return price; | |
} | |
public void setPrice(double price) { | |
this.price = price; | |
} | |
public User getUser() { | |
return user; | |
} | |
public void setUser(User user) { | |
this.user = user; | |
} | |
@Override | |
public String toString() { | |
return "Order [id=" + id + ", price=" + price + "]"; | |
} | |
} | |
</pre> | |
<p><br> | |
</p> | |
<h3>8、Mybatis映射文件</h3> | |
<p>UserMapper.xml</p> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_10_8568027" class="html" name="code" snippet_file_name="blog_20160713_10_8568027" code_snippet_id="1759641"><?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.zmx.ssm.user.domain.User"> | |
<resultMap id="userResultMap" type="com.zmx.ssm.user.domain.User" > | |
<id column="u_id" property="id"/> | |
<result column="account" property="account"/> | |
<result column="password" property="password"/> | |
<collection property="orderList" javaType="ArrayList" ofType="com.zmx.ssm.user.domain.Order" column="u_id"> | |
<id column="o_id" property="id"/> | |
<result column="price" property="price"/> | |
</collection> | |
</resultMap> | |
<select id="selectUserFetchOrder" parameterType="int" resultMap="userResultMap" > | |
select u.*, o.* from t_user u, t_order o where o.u_id=u.u_id and u.u_id=#{id} | |
</select> | |
<insert id="addUser" parameterType="User"> | |
insert into t_user(u_id, account, password) values(#{id}, #{account}, #{password}) | |
</insert> | |
</mapper></pre> | |
<p class="html" name="code"><br> | |
</p> | |
<p>OrderMapper.xml</p> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_10_4018215" class="html" name="code" snippet_file_name="blog_20160713_10_4018215" code_snippet_id="1759641"><?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.zmx.ssm.user.domain.Order" > | |
<resultMap id="orderResultMap" type="com.zmx.ssm.user.domain.Order" > | |
<id column="o_id" property="id"/> | |
<result column="price" property="price"/> | |
<association property="user" javaType="com.zmx.ssm.user.domain.User" column="u_id"> | |
<id column="u_id" property="id"/> | |
<result column="account" property="account"/> | |
<result column="password" property="password"/> | |
</association> | |
</resultMap> | |
<select id="selectOrderFetchUser" parameterType="int" resultMap="orderResultMap"> | |
select u.*,o.* from t_user u, t_order o where o.u_id=u.u_id and o.o_id=#{id} | |
</select> | |
</mapper></pre> | |
<p><br> | |
</p> | |
<h3>9、UserDao.java</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_12_9505335" class="html" name="code" snippet_file_name="blog_20160713_12_9505335" code_snippet_id="1759641">package com.zmx.ssm.user.dao; | |
import javax.annotation.Resource; | |
import org.mybatis.spring.SqlSessionTemplate; | |
import org.springframework.stereotype.Repository; | |
import com.zmx.ssm.user.domain.User; | |
@Repository | |
public class UserDao { | |
@Resource(name="sqlSession") | |
private SqlSessionTemplate sqlSession; | |
public void addUser(User user) { | |
sqlSession.insert("addUser",user); | |
} | |
} | |
</pre> | |
<p><br> | |
</p> | |
<p> </p> | |
<h3>10、使用Spring-test测试</h3> | |
<pre code_snippet_id="1759641" snippet_file_name="blog_20160713_13_6855377" class="html" name="code" snippet_file_name="blog_20160713_13_6855377" code_snippet_id="1759641">package test.com.zmx.ssm.user; | |
import org.junit.Test; | |
import org.junit.runner.RunWith; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.test.context.ContextConfiguration; | |
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | |
import org.springframework.test.context.transaction.TransactionConfiguration; | |
import org.springframework.transaction.annotation.Transactional; | |
import com.zmx.ssm.user.dao.UserDao; | |
import com.zmx.ssm.user.domain.User; | |
@RunWith(SpringJUnit4ClassRunner.class) | |
@ContextConfiguration(locations={"classpath:applicationContext.xml"}) | |
@TransactionConfiguration(transactionManager="transactionManager",defaultRollback=false) | |
@Transactional | |
public class UserDaoTest { | |
@Autowired | |
private UserDao userDao; | |
@Test | |
public void testInsert() { | |
User user=new User(); | |
user.setId(3); | |
user.setAccount("manager"); | |
user.setPassword("123456"); | |
userDao.addUser(user); | |
} | |
} | |
</pre> | |
<p><br> | |
</p> | |
<p> </p> | |
<h3>11、小结</h3> | |
<p>Spring常用的注解主要有以下几种:</p> | |
<ul> | |
<li>@Component</li><li>@Service--业务层</li><li>@Respority--持久化层</li><li>@Controller--视图层</li></ul> | |
<p> 尽管这几种注解对应的意义不一样,但它们都有一个共同的作用,那就是让Spring找到并且最终生成对应的Bean。举个例子,我们在Service中使用接口UserDAO,但该接口的实例我们并没有指定使用哪一个,虽然我们写了对应的Impl Class。 通过注解生成Bean,Spring就能够在Service调用该接口的时候从容器里得到正确的实体对象。</p> | |
<p> </p> | |
<h4><br> | |
<br> | |
<br> | |
</h4> | |
<p> </p> | |
</div> | |
<!-- Baidu Button BEGIN --> | |
<div class="bdsharebuttonbox tracking-ad" style="float: right;" data-mod="popu_172"> | |
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important"></a> | |
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important"></a> | |
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"style="background-position:0 -104px !important"></a> | |
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"style="background-position:0 -260px !important"></a> | |
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"style="background-position:0 -208px !important"></a> | |
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"style="background-position:0 -1612px !important" ></a> | |
</div> | |
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script> | |
<!-- Baidu Button END --> | |
<!--172.16.140.12--> | |
<!-- Baidu Button BEGIN --> | |
<script type="text/javascript" id="bdshare_js" data="type=tools&uid=1536434" ></script> | |
<script type="text/javascript" id="bdshell_js"></script> | |
<script type="text/javascript"> | |
document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000) | |
</script> | |
<!-- Baidu Button END --> | |
<div id="digg" ArticleId="51895826" > | |
<dl id="btnDigg" class="digg digg_enable" onclick="btndigga();"> | |
<dt>顶</dt> | |
<dd>0</dd> | |
</dl> | |
<dl id="btnBury" class="digg digg_enable" onclick="btnburya();"> | |
<dt>踩</dt> | |
<dd>0</dd> | |
</dl> | |
</div> | |
<div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" > </a> </div> | |
<div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" > </a></div> | |
<script type="text/javascript"> | |
function btndigga() { | |
$(".tracking-ad[data-mod='popu_222'] a").click(); | |
} | |
function btnburya() { | |
$(".tracking-ad[data-mod='popu_223'] a").click(); | |
} | |
</script> | |
<ul class="article_next_prev"> | |
<li class="prev_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/zmx729618/article/details/51890668';">上一篇</span><a href="/zmx729618/article/details/51890668" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">Java使用Jacob转换Word为HTML</a></li> | |
<li class="next_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='/zmx729618/article/details/51899231';">下一篇</span><a href="/zmx729618/article/details/51899231" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">MyBatis一对多和多对一</a></li> | |
</ul> | |
<div style="clear:both; height:10px;"></div> | |
<div class="similar_article" > | |
<h4></h4> | |
<div class="similar_c"style="margin:20px 0px 0px 0px"> | |
<div class="similar_c_t"> | |
相关文章推荐 | |
</div> | |
<div class="similar_wrap tracking-ad" data-mod="popu_36" style="max-height:195px;"> | |
<ul class="similar_list fl"> | |
<li> | |
<em>•</em> | |
<a href="http://blog.csdn.net/iTservlet/article/details/53534371" title="Spring ,Springmvc,mybatis三大框架整合的配置文件支持" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">Spring ,Springmvc,mybatis三大框架整合的配置文件支持</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://himo-zhang.iteye.com/blog/2177921" title=" SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) " strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;"> SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) </a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://blog.csdn.net/qq_16055765/article/details/51690137" title="SSM(spring+mybatis+springmvc)整合 配置文件" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">SSM(spring+mybatis+springmvc)整合 配置文件</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://shaohan126448.iteye.com/blog/2033550" title="springmvc+spring+mybatis整合实例" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">springmvc+spring+mybatis整合实例</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://blog.csdn.net/qq_30641447/article/details/51555849" title="springmvc+spring+mybatis整合的配置" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">springmvc+spring+mybatis整合的配置</a> | |
</li> | |
</ul> | |
<ul class="similar_list fr"> | |
<li> | |
<em>•</em> | |
<a href="http://blog.csdn.net/brave_xz411/article/details/72935064" title="SSM(Spring,SpringMVC,Mybatis)项目整合配置与应用" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">SSM(Spring,SpringMVC,Mybatis)项目整合配置与应用</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://fanjf.iteye.com/blog/1457355" title="MyBatis3整合Spring3、SpringMVC3" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">MyBatis3整合Spring3、SpringMVC3</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://blog.csdn.net/mingliangniwo/article/details/42968545" title="javaWeb项目SpringMVC3.2.1与Mybatis3.0.4整合实例(Mybaits-spring配置文件的几种方式)之一SqlSessionDaoSupport方式" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">javaWeb项目SpringMVC3.2.1与Mybatis3.0.4整合实例(Mybaits-spring配置文件的几种方式)之一SqlSessionDaoSupport方式</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://20386053.iteye.com/blog/1992214" title="Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法</a> | |
</li> | |
<li> | |
<em>•</em> | |
<a href="http://blog.csdn.net/qq_33913037/article/details/53465944" title="SSM整合配置文件(Springmvc+Spring+Mybatis)" strategy="BlogCommendFromCsdn" target="_blank" style="width: 290px;">SSM整合配置文件(Springmvc+Spring+Mybatis)</a> | |
</li> | |
</ul> | |
</div> | |
</div> | |
</div> | |
</div> | |
<div> | |
<script type="text/javascript"> | |
/*博客内容页下方Banner1-728*90,创建于2016-12-13*/ | |
var cpro_id = "u2843949"; | |
</script> | |
<script type="text/javascript" src="http://cpro.baidustatic.com/cpro/ui/c.js"></script> | |
</div> | |
<div id="suggest"></div> | |
<script language="javascript" type='text/javascript'> | |
$(function(){ | |
$.get("/zmx729618/svc/GetSuggestContent/51895826",function(data){ | |
$("#suggest").html(data); | |
}); | |
}); | |
</script> | |
<style> | |
.blog-ass-articl dd { | |
color: #369; | |
width: 99%; /*修改行*/ | |
float: left; | |
overflow: hidden; | |
font: normal normal 12px/23px "SimSun"; | |
height: 23px; | |
margin: 0; | |
padding: 0 0 0 10px; | |
margin-right: 30px; | |
background: url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; | |
} | |
</style> | |
<dl class="blog-ass-articl tracking-ad" id="res-relatived" data-mod="popu_84" > | |
<dt><span>猜你在找</span></dt> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/huiyiCourse/detail/422?ref=blog&loc=r1" title="深度学习基础与TensorFlow实践" strategy="undefined" target="_blank">深度学习基础与TensorFlow实践</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/huiyiCourse/series_detail/43?ref=blog&loc=r1" title="【在线峰会】前端开发重点难点技术剖析与创新实践" strategy="undefined" target="_blank">【在线峰会】前端开发重点难点技术剖析与创新实践</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/huiyiCourse/series_detail/42?ref=blog&loc=r1" title="【在线峰会】一天掌握物联网全栈开发之道" strategy="undefined" target="_blank">【在线峰会】一天掌握物联网全栈开发之道</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/huiyiCourse/series_detail/41?ref=blog&loc=r1" title="【在线峰会】如何高质高效的进行Android技术开发" strategy="undefined" target="_blank">【在线峰会】如何高质高效的进行Android技术开发</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/huiyiCourse/detail/404?ref=blog&loc=r1" title="机器学习40天精英计划" strategy="undefined" target="_blank">机器学习40天精英计划</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/huiyiCourse/detail/402?ref=blog&loc=r1" title="Python数据挖掘与分析速成班" strategy="undefined" target="_blank">Python数据挖掘与分析速成班</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/course/detail/3011?ref=blog&loc=r1" title="微信小程序开发实战" strategy="undefined" target="_blank">微信小程序开发实战</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/course/detail/1968?ref=blog&loc=r1" title="JFinal极速开发企业实战" strategy="undefined" target="_blank">JFinal极速开发企业实战</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/combo/detail/23?ref=blog&loc=r1" title="备战2017软考 系统集成项目管理工程师 学习套餐" strategy="undefined" target="_blank">备战2017软考 系统集成项目管理工程师 学习套餐</a> | |
</dd> | |
<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"> | |
<a href="http://edu.csdn.net/course/detail/3338?ref=blog&loc=r1" title="Python大型网络爬虫项目开发实战(全套)" strategy="undefined" target="_blank">Python大型网络爬虫项目开发实战(全套)</a> | |
</dd> | |
</dl> | |
<div id="ad_cen"> | |
<div> | |
<script type="text/javascript"> | |
/*博客内容页下方Banner-728*90,创建于2014-7-3*/ | |
var cpro_id = "u1607657"; | |
</script> | |
<script type="text/javascript" src="http://cpro.baidustatic.com/cpro/ui/c.js"></script> | |
</div> | |
</div> | |
<!-- 广告位开始 --> | |
<!-- 广告位结束 --> | |
<div class="comment_class"> | |
<div id="comment_title" class="panel_head"> | |
<span class="see_comment">查看评论</span><a name="comments"></a></div> | |
<div id="comment_list"> | |
</div> | |
<div id="comment_bar"> | |
</div> | |
<div id="comment_form"> | |
</div> | |
<div class="announce"> | |
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场<a name="reply"></a><a name="quote"></a></div> | |
</div> | |
<script type="text/javascript"> | |
var fileName = '51895826'; | |
var commentscount = 0; | |
var islock = false | |
</script> | |
<div id="ad_bot"> | |
</div> | |
<div id="report_dialog"> | |
</div> | |
<div id="d-top" style="bottom:60px;"> | |
<a id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;"> | |
<img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复"> | |
</a> | |
<a id="d-top-a" class="btn btn-top backtop" style="display: none;" title="返回顶部" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])" style=""> | |
<img src="http://static.blog.csdn.net/images/top.png" alt="TOP"> | |
</a> | |
</div> | |
<script type="text/javascript"> | |
$(function () | |
{ | |
$("#ad_frm_0").height("90px"); | |
setTimeout(function(){ | |
$("#ad_frm_2").height("200px"); | |
},1000); | |
}); | |
</script> | |
<style type="text/css"> | |
.tag_list | |
{ | |
background: none repeat scroll 0 0 #FFFFFF; | |
border: 1px solid #D7CBC1; | |
color: #000000; | |
font-size: 12px; | |
line-height: 20px; | |
list-style: none outside none; | |
margin: 10px 2% 0 1%; | |
padding: 1px; | |
} | |
.tag_list h5 | |
{ | |
background: none repeat scroll 0 0 #E0DBD3; | |
color: #47381C; | |
font-size: 12px; | |
height: 24px; | |
line-height: 24px; | |
padding: 0 5px; | |
margin: 0; | |
} | |
.tag_list h5 a | |
{ | |
color: #47381C; | |
} | |
.classify | |
{ | |
margin: 10px 0; | |
padding: 4px 12px 8px; | |
} | |
.classify a | |
{ | |
margin-right: 20px; | |
white-space: nowrap; | |
} | |
</style> | |
<div id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);"> | |
</div> | |
<div id="popup_mask"></div> | |
<style> | |
#popup_mask | |
{ | |
position: absolute; | |
width: 100%; | |
height: 100%; | |
background: #000; | |
z-index: 9999; | |
left: 0px; | |
top: 0px; | |
opacity: 0.3; | |
filter: alpha(opacity=30); | |
display: none; | |
} | |
</style> | |
<script type="text/javascript"> | |
$(function(){ | |
setTimeout(function(){ | |
$(".comment_body:contains('回复')").each(function(index,item){ | |
var u=$(this).text().split(':')[0].toString().replace("回复","") | |
var thisComment=$(this); | |
if(u) | |
{ | |
$.getJSON("https://passport.csdn.net/get/nick?callback=?", {users: u}, function(a) { | |
if(a!=null&&a.data!=null&&a.data.length>0) | |
{ | |
nick=a.data[0].n; | |
if(u!=nick) | |
{ | |
thisComment.text(thisComment.text().replace(u,nick)); | |
} | |
} | |
}); | |
} | |
}); | |
},200); | |
setTimeout(function(){ | |
$(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); }) | |
},5000); | |
setTimeout(function(){ | |
$(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); }) | |
},10000); | |
setTimeout(function(){ | |
$(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); }) | |
},15000); | |
setTimeout(function(){ | |
$("a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({"position":"absolute","left":"50%"}); | |
},300); | |
}); | |
function loginbox(){ | |
var $logpop=$("#pop_win"); | |
$logpop.html('<iframe src="https://passport.csdn.net/account/loginbox?service=http://static.blog.csdn.net/callback.htm" frameborder="0" height="600" width="400" scrolling="no"></iframe>'); | |
$('#popup_mask').css({ | |
opacity: 0.5, | |
width: $( document ).width() + 'px', | |
height: $( document ).height() + 'px' | |
}); | |
$('#popup_mask').css("display","block"); | |
$logpop.css( { | |
top: ($( window ).height() - $logpop.height())/ 2 + $( window | |
).scrollTop() + 'px', | |
left:($( window ).width() - $logpop.width())/ 2 | |
} ); | |
setTimeout( function () { | |
$logpop.show(); | |
$logpop.css( { | |
opacity: 1 | |
} ); | |
}, 200 ); | |
$('#popup_mask').unbind("click"); | |
$('#popup_mask').bind("click", function(){ | |
$('#popup_mask').hide(); | |
var $clopop = $("#pop_win"); | |
$("#common_ask_div_sc").css("display","none"); | |
$clopop.css( { | |
opacity: 0 | |
} ); | |
setTimeout( function () { | |
$clopop.hide(); | |
}, 350 ); | |
return false; | |
}); | |
} | |
var articletitle='SpringMVC+Spring+Mybatis整合配置'; | |
</script> | |
<div class="clear"> | |
</div> | |
</div> | |
</div> | |
<div id="side"> | |
<div class="side"> | |
<div id="panel_Profile" class="panel"> | |
<ul class="panel_head"><span>个人资料</span></ul> | |
<ul class="panel_body profile"> | |
<div id="blog_userface"> | |
<a href="http://my.csdn.net/zmx729618" target="_blank"> | |
<img src="http://avatar.csdn.net/9/B/D/1_zmx729618.jpg" title="访问我的空间" style="max-width:90%"/> | |
</a> | |
<br /> | |
<span><a href="http://my.csdn.net/zmx729618" class="user_name" target="_blank">zmx729618</a></span> | |
</div> | |
<div class="interact"> | |
<a href="javascript:void(0);" class="attent" id="span_add_follow" title="[加关注]"></a> | |
<a href="javascript:void(0);" class="letter" title="[发私信]" onclick="window.open('http://msg.csdn.net/letters/model?receiver=zmx729618','_blank','height=350,width=700');_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_sixin'])"></a> | |
</div> | |
<div id="blog_medal"> | |
<div id="bms_box"> | |
<a target="_blank"> | |
<img src="http://c.csdnimg.cn/jifen/images/xunzhang/xunzhang/chizhiyiheng.png" onmouseover="m_over_m(this,4)" onmouseout="m_out_m()" alt="1" > | |
</a> | |
</div> | |
</div> | |
<ul id="blog_rank"> | |
<li>访问:<span>684544次</span></li> | |
<li>积分:<span>9237</span> </li> | |
<li >等级: <span style="position:relative;display:inline-block;z-index:1" > | |
<img src="http://c.csdnimg.cn/jifen/images/xunzhang/jianzhang/blog6.png" alt="" style="vertical-align: middle;" id="leveImg"> | |
<div id="smallTittle" style=" position: absolute; left: -24px; top: 25px; text-align: center; width: 101px; height: 32px; background-color: #fff; line-height: 32px; border: 2px #DDDDDD solid; box-shadow: 0px 2px 2px rgba (0,0,0,0.1); display: none; z-index: 999;"> | |
<div style="left: 42%; top: -8px; position: absolute; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 8px solid #EAEAEA;"></div> | |
积分:9237 </div> | |
</span> </li> | |
<li>排名:<span>第1861名</span></li> | |
</ul> | |
<ul id="blog_statistics"> | |
<li>原创:<span>138篇</span></li> | |
<li>转载:<span>757篇</span></li> | |
<li>译文:<span>31篇</span></li> | |
<li>评论:<span>86条</span></li> | |
</ul> | |
</ul> | |
</div> | |
<div class="panel" id="panel_Search"> | |
<ul class="panel_head"><span>文章搜索</span></ul> | |
<ul class="panel_body" class="form_search"> | |
<form id="frmSearch" action="http://so.csdn.net/search" class="form_search csdn-tracking-statistics" target="_blank" data-mod="popu_306"> | |
<span><input id="inputSearch" type="text" class="blogsearch" title="请输入关键字" /></span> | |
<input id="btnSubmit" type="button" value="搜索" title="search in blog" /> | |
<input type="hidden" name="q" id="inputQ" /> | |
<input type="hidden" name="t" value="blog" /> | |
<a id="btnSearchBlog" target="_blank"></a> | |
</form> | |
</ul> | |
</div> | |
<script type="text/javascript"> | |
$(function () { | |
$("#btnSubmit").unbind("click"); | |
$("#btnSubmit").click(function () { | |
search(); | |
}); | |
$("#frmSearch").submit(function () { | |
search(); | |
return false; | |
}); | |
function search() | |
{ | |
if ($("#inputSearch").val() == "") { | |
alert("请录入搜索关键词!"); | |
return false; | |
} | |
//var url = "http://so.csdn.net/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog"; | |
var url = "https://www.baidu.com/s?wd=" + encodeURIComponent($("#inputSearch").val()) + "%20site%3Ablog.csdn.net" | |
window.location.href = url; | |
} | |
}); | |
</script><div id="panel_Category" class="panel"> | |
<ul class="panel_head"><span>文章分类</span></ul> | |
<ul class="panel_body"> | |
<li> | |
<a href="/zmx729618/article/category/3108443" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java</a><span>(126)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/3108441" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">数据库</a><span>(43)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/5724253" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">数据挖掘算法与原理</a><span>(6)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/5735287" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Grails</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/5766023" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">性能优化</a><span>(8)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/5767211" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">前台UI</a><span>(8)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6129208" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JVM调优</a><span>(22)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6129610" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">杂谈</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6151863" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JAXB2</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6156941" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Javascript</a><span>(10)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6158933" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">IDE使用</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6160388" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">CSS</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6162319" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Jquery</a><span>(11)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6168785" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">图形/Highchart</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6168885" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Spring</a><span>(27)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6169221" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Junit</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6169359" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JTA</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6169561" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Javamail</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6170787" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JMS-ActiveMQ</a><span>(14)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6172648" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Quartz/任务调度</a><span>(10)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6173384" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">SpringSecurity</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6177525" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JavaUtil工具类</a><span>(22)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6177696" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java内省/反射</a><span>(9)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6178030" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">类加载器ClassLoader</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6179246" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java序列化</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6179616" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java克隆</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6181602" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java并发编程</a><span>(56)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6185096" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">算法/排序</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6190018" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">正则表达式</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6191435" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Http/HttpURLConnection</a><span>(23)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6192897" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">I18N</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6193126" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JNI</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6193394" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">POI/JXLS/JXL</a><span>(13)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6193527" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">动态代理</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6194895" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JNDI</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6197661" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JSON/JSONP</a><span>(13)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6201064" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Weblogic</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6201133" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Js/JQuery插件</a><span>(13)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6204432" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Log4j/Log4j2</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6206615" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JPA/Hibernate</a><span>(27)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6213269" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">事务</a><span>(6)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6215365" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Restful</a><span>(13)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6220066" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">WebService</a><span>(6)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6220621" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Eclipse/MyEclipse</a><span>(6)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6220731" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">exe4j</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6221899" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Session/Cookie</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6223467" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">加密/解密</a><span>(10)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6223946" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java Socket</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6225091" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">编码/解码</a><span>(12)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6225640" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Linux</a><span>(12)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6225715" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Tomcat</a><span>(10)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6227151" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Servlet/JSP</a><span>(19)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6238076" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Android</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6243603" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">PHP</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6244493" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">单点登录CAS</a><span>(10)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6246650" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">设计模式</a><span>(10)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6248665" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">SpringMVC</a><span>(51)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6255075" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Nginx/负载均衡</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6256762" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Maven</a><span>(6)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6256920" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Comet/Pushlet</a><span>(8)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6264424" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">数据结构与算法</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6271670" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Cache</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6292594" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">HttpClient</a><span>(8)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6293253" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">断点续传</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6295981" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">EJB</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6296951" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">文件预览</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6297072" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">BIO/NIO/AIO</a><span>(22)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6300359" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JSTL</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6305745" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Spring-Data-JPA</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6305856" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">EL</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6305987" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">DOM4J</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6306113" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">文件上传/下载</a><span>(9)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6309398" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Mybatis</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6313680" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Ajax</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6319580" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Mongodb</a><span>(13)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6319651" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">图像处理</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6347494" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">UML</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6347779" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Logback</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6348551" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">WEB安全</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6349570" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">验证码</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6349763" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">短信猫</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6350019" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">压缩解压</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6350199" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">bat批处理</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6350581" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">RMI</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6354054" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Valid</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6354188" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">java注解</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6354302" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">ITEXT</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6354411" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">IDEA</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6354798" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java异常处理</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6355064" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java泛型</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6355178" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">OSGI</a><span>(8)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6356217" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Gradle</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6356796" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Groovy</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6357082" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">WebSocket</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6358095" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Git</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6421973" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">单元测试工具</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6422060" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Java GC</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6430276" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Redis</a><span>(11)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6441288" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Hessian</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6441555" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">mysql</a><span>(25)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6443117" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">微信开发</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6451404" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">rpc</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6443229" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Zookeeper</a><span>(30)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6452458" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Hadoop</a><span>(16)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6452147" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">HBase</a><span>(12)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6452148" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Hive</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6457295" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">sqoop</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6453114" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">原子变量</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6455490" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Spring-Boot</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6462774" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Freemarker</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6467315" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">node.js</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6467432" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Drools</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6468351" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">ZXing</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6483033" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Lucene</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6485400" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Jsoup</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6496024" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">html5</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6497823" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">thrift</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6502045" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Protobuf</a><span>(6)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6499288" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">ReactJS</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6499854" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">AngularJS</a><span>(11)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6503674" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">TestNG</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6513471" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">web架构</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6522714" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Dubbo</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6522765" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Jetty</a><span>(7)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6532085" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Jacob</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6533778" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">SPI</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6545841" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">技术实现</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6546904" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">solr</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6738206" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">LBS/地理位置服务</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6814425" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">SVN</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6822067" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Docker</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6823350" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">AI/机器学习</a><span>(4)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6937856" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">自动化测试</a><span>(1)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/category/6979604" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Spark</a><span>(4)</span> | |
</li> | |
</ul> | |
</div><div id="panel_Archive" class="panel"> | |
<ul class="panel_head"><span>文章存档</span></ul> | |
<ul class="panel_body"> | |
<div id="archive_list"> | |
<!--归档统计--> | |
<li><a href="/zmx729618/article/month/2017/06">2017年06月</a><span>(22)</span></li><li><a href="/zmx729618/article/month/2017/05">2017年05月</a><span>(28)</span></li><li><a href="/zmx729618/article/month/2017/04">2017年04月</a><span>(25)</span></li><li><a href="/zmx729618/article/month/2017/03">2017年03月</a><span>(48)</span></li><li><a href="/zmx729618/article/month/2017/02">2017年02月</a><span>(39)</span></li><li><a href="/zmx729618/article/month/2017/01">2017年01月</a><span>(53)</span></li><li><a href="/zmx729618/article/month/2016/12">2016年12月</a><span>(3)</span></li><li><a href="/zmx729618/article/month/2016/11">2016年11月</a><span>(96)</span></li><li><a href="/zmx729618/article/month/2016/10">2016年10月</a><span>(74)</span></li><li><a href="/zmx729618/article/month/2016/09">2016年09月</a><span>(39)</span></li><li><a href="/zmx729618/article/month/2016/08">2016年08月</a><span>(64)</span></li><li><a href="/zmx729618/article/month/2016/07">2016年07月</a><span>(71)</span></li><li><a href="/zmx729618/article/month/2016/06">2016年06月</a><span>(57)</span></li><li><a href="/zmx729618/article/month/2016/05">2016年05月</a><span>(154)</span></li><li><a href="/zmx729618/article/month/2016/04">2016年04月</a><span>(132)</span></li><li><a href="/zmx729618/article/month/2016/03">2016年03月</a><span>(14)</span></li><li><a href="/zmx729618/article/month/2016/01">2016年01月</a><span>(2)</span></li><li><a href="/zmx729618/article/month/2015/11">2015年11月</a><span>(3)</span></li><li><a href="/zmx729618/article/month/2015/09">2015年09月</a><span>(3)</span></li><li><a href="/zmx729618/article/month/2015/08">2015年08月</a><span>(16)</span></li><li><a href="/zmx729618/article/month/2015/06">2015年06月</a><span>(2)</span></li><li><a href="/zmx729618/article/month/2015/04">2015年04月</a><span>(2)</span></li><li><a href="/zmx729618/article/month/2014/01">2014年01月</a><span>(1)</span></li> | |
</div> | |
</ul> | |
</div> | |
<div id="hotarticls" class="panel"> | |
<ul class="panel_head"> | |
<span> | |
阅读排行 </span> | |
</ul> | |
<ul class="panel_body itemlist"> | |
<li> | |
<a href="/zmx729618/article/details/51096593" title="Spring security实现权限管理">Spring security实现权限管理</a><span>(36987)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/45059805" title="关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化">关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化</a><span>(16210)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51554231" title="SpringMVC之后台接收参数与前台传递数据">SpringMVC之后台接收参数与前台传递数据</a><span>(13081)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51395979" title="从HttpServletRequest获取各种路径总结">从HttpServletRequest获取各种路径总结</a><span>(11080)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51144588" title="Java绝对/相对路径获取与getResourceAsStream()方法">Java绝对/相对路径获取与getResourceAsStream()方法</a><span>(9428)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51566987" title="使用Nexus搭建Maven代理仓库">使用Nexus搭建Maven代理仓库</a><span>(9074)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51516744" title="让技术人员看得懂的面向对象设计流程">让技术人员看得懂的面向对象设计流程</a><span>(8946)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51242966" title="JQuery Marquee插件(无缝滚动效果)- marquee.js">JQuery Marquee插件(无缝滚动效果)- marquee.js</a><span>(6889)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/52161069" title="Java下利用Jackson进行JSON解析和序列化">Java下利用Jackson进行JSON解析和序列化</a><span>(6381)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51909604" title="Spring整合MyBatis错误:org.apache.ibatis.binding.BindingException">Spring整合MyBatis错误:org.apache.ibatis.binding.BindingException</a><span>(6310)</span> | |
</li> | |
</ul> | |
</div> | |
<div id="hotarticls2" class="panel"> | |
<ul class="panel_head"><span>评论排行</span></ul> | |
<ul class="panel_body itemlist"> | |
<li> | |
<a href="/zmx729618/article/details/51096593" title="Spring security实现权限管理">Spring security实现权限管理</a><span>(21)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51881084" title="springMVC是实现前台带进度条文件上传">springMVC是实现前台带进度条文件上传</a><span>(17)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51453792" title="ThreadPoolExecutor运转机制及BlockingQueue详解">ThreadPoolExecutor运转机制及BlockingQueue详解</a><span>(5)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51942220" title="服务器推送技术原理分析及dwr框架简单的使用">服务器推送技术原理分析及dwr框架简单的使用</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51858884" title="Java NIO之Selector的使用">Java NIO之Selector的使用</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/54378259" title="JAVA实现长连接(含心跳检测)Demo">JAVA实现长连接(含心跳检测)Demo</a><span>(3)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51372694" title="HttpsURLConnection实现SSL的GET/POST请求">HttpsURLConnection实现SSL的GET/POST请求</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51766641" title="Java之HashCode值改变引起Hashset造成的内存泄露">Java之HashCode值改变引起Hashset造成的内存泄露</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51801958" title="HttpClient模仿登陆并维持同一session请求(HttpClient4.3.X以上版本)">HttpClient模仿登陆并维持同一session请求(HttpClient4.3.X以上版本)</a><span>(2)</span> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51437929" title="Spring3整合Quartz2实现定时任务及动态任务调整(添加删除暂停恢复)--推荐">Spring3整合Quartz2实现定时任务及动态任务调整(添加删除暂停恢复)--推荐</a><span>(2)</span> | |
</li> | |
</ul> | |
</div> | |
<div id="homepageArticles" class="panel tracking-ad" data-mod="popu_4"> | |
<ul class="panel_head"><span>推荐文章</span></ul> | |
<ul class="panel_body" id="ad_commend"> | |
<ul> | |
<li><a href="http://blog.csdn.net/blogdevteam/article/details/73740215" target="_blank">* CSDN日报20170626——《我的程序探险之旅》</a></li> | |
<li><a href="http://blog.csdn.net/pistolove/article/details/73610588" | |
target="_blank">* 【Java高级开发工程师】近一个月的面试总结</a></li> | |
<li><a href="http://blog.csdn.net/reboot123/article/details/73266776"target="_blank">* 一个文科生的工程师之路</a></li> | |
<li><a href="http://blog.csdn.net/lqw_student/article/details/73646768" | |
target="_blank">* JavaWeb 与 MySQL 人鬼情未了</a></li> | |
<li><a href="http://blog.csdn.net/totond/article/details/73648103" | |
target="_blank">* PermissionsDispatcher、RxPermissions和easypermissions的使用和对比</a></li> | |
<li><a href="http://blog.csdn.net/broadview2006/article/details/73550412" | |
target="_blank">* 每周荐书:架构、Scratch、增长黑客(评论送书)</a></li> | |
</ul></ul> | |
</div> | |
<div id="newcomments" class="panel"> | |
<ul class="panel_head"><span>最新评论</span></ul> | |
<ul class="panel_body itemlist"> | |
<li> | |
<a href="/zmx729618/article/details/51881084#comments">springMVC是实现前台带进度条文件上传</a> | |
<p style="margin:0px;"><a href="/zmx729618" class="user_name">zmx729618</a>: | |
@hengliang_:可以bebug看一下 后台上传数据大小是不是变动了 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51881084#comments">springMVC是实现前台带进度条文件上传</a> | |
<p style="margin:0px;"><a href="/hengliang_" class="user_name">hengliang_</a>: | |
您好!我可以上传成功,但是进度条没有变化 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51395979#comments">从HttpServletRequest获取各种路径总结</a> | |
<p style="margin:0px;"><a href="/zmx729618" class="user_name">zmx729618</a>: | |
@xinxixueyuan110:个人学习,留作个人的记录笔记 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51395979#comments">从HttpServletRequest获取各种路径总结</a> | |
<p style="margin:0px;"><a href="/xinxixueyuan110" class="user_name">xinxixueyuan110</a>: | |
乱超别人的东西 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/52127577#comments">Java调用SMS Cat(短信猫)发短信</a> | |
<p style="margin:0px;"><a href="/qq_25452849" class="user_name">qq_25452849</a>: | |
你好,有接收短信的demo吗?谢谢 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/52701370#comments">Mysql使用索引可能失效的场景</a> | |
<p style="margin:0px;"><a href="/u013038861" class="user_name">u013038861</a>: | |
谢谢分享。 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/54378259#comments">JAVA实现长连接(含心跳检测)Demo</a> | |
<p style="margin:0px;"><a href="/zmx729618" class="user_name">zmx729618</a>: | |
@qq_36495520:原理应该大同小异,都是定期发送一个消息到具体的模块,然后接受返回消息。 | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/54378259#comments">JAVA实现长连接(含心跳检测)Demo</a> | |
<p style="margin:0px;"><a href="/qq_36495520" class="user_name">qq_36495520</a>: | |
我需要心跳来控制队列的每一个模块,需要做出来一个.exe软件,有心跳图那种的软件你这个是怎么实现监测... | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/54378259#comments">JAVA实现长连接(含心跳检测)Demo</a> | |
<p style="margin:0px;"><a href="/qq_36495520" class="user_name">qq_36495520</a>: | |
不可评论? | |
</p> | |
</li> | |
<li> | |
<a href="/zmx729618/article/details/51766641#comments">Java之HashCode值改变引起Hashset造成的内存泄露</a> | |
<p style="margin:0px;"><a href="/zmx729618" class="user_name">zmx729618</a>: | |
@wgxaszc8:很多时候设计对象的比较都需要重写hashCode()和equals()方法,比如... | |
</p> | |
</li> | |
</ul> | |
</div> | |
</div> | |
<div class="clear"> | |
</div> | |
<!-- 广告位开始 --> <!-- 广告位结束 --> | |
<div class="tracking-ad" data-view="true" data-mtp="63" data-order="40" data-con="ad_content_1260" style="width: 200px; height: 200px;"> | |
<div id="nav_show_top_stop" style="width: 200px;height: 200px;z-index:1000"><div id="cpro_u2734128"></div></div> | |
</div> | |
<script type="text/javascript"> | |
setTimeout(function () { | |
var naviga_offsetTop = 0; | |
function naviga_stay_top() { var scrollTop = jQuery(document).scrollTop(); if (scrollTop > naviga_offsetTop) { jQuery("#nav_show_top_stop").css({ "position": "fixed" }); jQuery("#nav_show_top_stop").css({ "top": "0px" }); } else { jQuery("#nav_show_top_stop").css({ "position": "fixed" }); jQuery("#nav_show_top_stop").css({ "top": naviga_offsetTop - scrollTop + "px" }); } } | |
function onload_function() { naviga_offsetTop = jQuery("#nav_show_top_stop").position().top; jQuery(window).bind("scroll", naviga_stay_top); jQuery(window).bind("mousewheel", naviga_stay_top); jQuery(document).bind("scroll", naviga_stay_top); jQuery(document).bind("mousewheel", naviga_stay_top); } jQuery(document).ready(onload_function); | |
}, 200); | |
</script> | |
<script type="text/javascript">(window.cproArray = window.cproArray || []).push({ id: "u2734128" }); </script> | |
<script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript"></script> | |
</div> | |
<div class="clear"> | |
</div> | |
</div> | |
<script type="text/javascript"> | |
$(function () { | |
function __get_code_toolbar(snippet_id) { | |
return $("<span class='tracking-ad' data-mod='popu_167'><a href='https://code.csdn.net/snippets/" | |
+ snippet_id | |
+ "' target='_blank' title='在CODE上查看代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/CODE_ico.png' width=12 height=12 alt='在CODE上查看代码片' style='position:relative;top:1px;left:2px;'/></a></span>" | |
+ "<span class='tracking-ad' data-mod='popu_170'><a href='https://code.csdn.net/snippets/" | |
+ snippet_id | |
+ "/fork' target='_blank' title='派生到我的代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/ico_fork.svg' width=12 height=12 alt='派生到我的代码片' style='position:relative;top:2px;left:2px;'/></a></span>"); | |
} | |
$("[code_snippet_id]").each(function () { | |
__s_id = $(this).attr("code_snippet_id"); | |
if (__s_id != null && __s_id != "" && __s_id != 0 && parseInt(__s_id) > 70020) { | |
__code_tool = __get_code_toolbar(__s_id); | |
$(this).prev().find(".tools").append(__code_tool); | |
} | |
}); | |
$(".bar").show(); | |
}); | |
</script> | |
</div> | |
<!--new top--> | |
<!--new top--> | |
<script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script> | |
<script type="text/javascript"> | |
//$(function () { | |
// setTimeout(function () { | |
// var searchtitletags = articletitle + ',' + $("#tags").html(); | |
// searchService({ | |
// index: 'blog', | |
// query: searchtitletags, | |
// from: 5, | |
// size: 5, | |
// appendTo: '#res', | |
// url: 'recommend', | |
// his: 2, | |
// client: "blog_cf_enhance", | |
// tmpl: '<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="#{ url }" title="#{ title }" strategy="#{ strategy }">#{ title }</a></dd>' | |
// }); | |
// }, 1000); | |
//}); | |
</script> | |
<script src="http://static.blog.csdn.net/scripts/csdn_blog_detail.min.js" type="text/javascript"></script> | |
<script type="text/javascript" src="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.js?20170620001"></script> | |
<script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=1364308"></script> | |
<div id="a52b5334d" style="width: 1px; height: 1px; display: none;"> | |
<script id="adJs52b5334"></script> | |
<script>document.getElementById("adJs52b5334").src = "http://ads.csdn.net/js/opt/52b5334.js?t=" + Math.random();</script> | |
</div> | |
<div class="pop_CA_cover" style="display:none"></div> | |
<div class="pop pop_CA" style="display:none"> | |
<div class="CA_header"> | |
收藏助手 | |
<span class="cancel_icon" id="fapancle" onclick="$('.pop_CA').hide();$('.pop_CA_cover').hide();"></span> | |
</div> | |
<iframe src="" id="fa" frameborder="0" width="100%" height="360" scrolling="no" ></iframe> | |
</div> | |
<script type="text/javascript"> | |
$(function () { | |
var fromjs = $("#fromjs"); | |
if (fromjs.length > 0) { | |
$("#fromjs .markdown_views pre").addClass("prettyprint"); | |
prettyPrint(); | |
$('pre.prettyprint code').each(function () { | |
var lines = $(this).text().split('\n').length; | |
var $numbering = $('<ul/>').addClass('pre-numbering').hide(); | |
$(this).addClass('has-numbering').parent().append($numbering); | |
for (i = 1; i <= lines; i++) { | |
$numbering.append($('<li/>').text(i)); | |
}; | |
$numbering.fadeIn(1700); | |
}); | |
$('.pre-numbering li').css("color", "#999"); | |
} | |
}); | |
$(".markdown_views a[target!='_blank']").attr("target", "_blank"); | |
//$(".toc a[target='_blank']").attr("target", ""); | |
setTimeout(function () { | |
$(".toc a[target='_blank']").attr("target", ""); | |
},500); | |
</script> | |
</body> | |
</html> | |
SpringMVC+Spring+Mybatis整合配置
最新推荐文章于 2022-05-08 15:48:36 发布