<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sunny的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wang370521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wang370521]]></copyright><item><title><![CDATA[spring线程中处理事务]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/86528214</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/86528214</guid><author>wang370521</author><pubDate>Thu, 17 Jan 2019 17:24:24 +0800</pubDate><description><![CDATA[@Autowired
    private DataSourceTransactionManager txManager;

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
        def.setPropagationBehavior(TransactionDefinition.PROPAGAT...]]></description><category></category></item><item><title><![CDATA[Spring MVC中的CSRF攻击防御]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/81430177</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/81430177</guid><author>wang370521</author><pubDate>Sun, 05 Aug 2018 13:18:06 +0800</pubDate><description><![CDATA[原文地址:http://moon-walker.iteye.com/blog/2397907,https://www.oschina.net/code/snippet_1029551_27153#45401

此文仅作为当时解决此问题记录

CSRF攻击

CSRF攻击全称为：Cross-site request forgery,直接翻译为：跨站请求伪造。直接看名称还是有点难以理解，容易跟XSS攻...]]></description><category></category></item><item><title><![CDATA[vim常用操作]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/79961021</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/79961021</guid><author>wang370521</author><pubDate>Mon, 16 Apr 2018 15:16:12 +0800</pubDate><description><![CDATA[编辑器之神-vimvi简介vi是“Visual interface”的简称，它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作，而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序，它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排，它只是一个文本编辑程序。 vi没有菜单，只有命令，且命令繁多。Vi有三种基本工作模...]]></description><category></category></item><item><title><![CDATA[IDEA自动编译设置]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/78200507</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/78200507</guid><author>wang370521</author><pubDate>Wed, 11 Oct 2017 10:10:01 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/wangyy130/article/details/70901589?foxhandler=RssReadRenderProcessHandler
idea默认是不能进行自动编译的，但是它也同样提供了自动编译的功能，只是需要我们手动设置一下。
不然合并过代码后，没有自动编译，就需要rebuild来查看错误，如果能进行自动编译，就可以直接提示我]]></description><category></category></item><item><title><![CDATA[BigDecimal各种舍入方式]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/77977560</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/77977560</guid><author>wang370521</author><pubDate>Thu, 14 Sep 2017 10:40:58 +0800</pubDate><description><![CDATA[在银行、帐户、计费等领域，BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。

1、ROUND_UP

舍入远离零的舍入模式。

在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。

注意，此舍入模式始终不会减少计算值的大小。

2、ROUND_DOWN

接近零的舍入模式。

在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字]]></description><category></category></item><item><title><![CDATA[Redis超级新手指南-下]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/77838792</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/77838792</guid><author>wang370521</author><pubDate>Mon, 04 Sep 2017 16:22:03 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/qq_22260641/article/details/77678261


可用高性能分布式缓存解决方案(Rdeis)

1.简述

    本文将从以下几个方面详细讲解Redis,看过上篇(福禄篇)的可以直接跳过简介,这里只是保证文章的可读性.

(在word上写完才拷贝过来的(几天才写完),所以可能看起来不太舒服)

]]></description><category></category></item><item><title><![CDATA[Redis超级新手指南-上]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/77838763</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/77838763</guid><author>wang370521</author><pubDate>Mon, 04 Sep 2017 16:19:05 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/qq_22260641/article/details/77678261


Redis简介


Redis是一款开源的、高性能的键-值存储（key-value store）。它常被称作是一款数据结构服务器（data
 structure server）。redis的键值可以包括字符串（strings）类型，同时它还包括哈希（has]]></description><category></category></item><item><title><![CDATA[解惑 spring 嵌套事务]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/77159284</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/77159284</guid><author>wang370521</author><pubDate>Mon, 14 Aug 2017 11:07:25 +0800</pubDate><description><![CDATA[转载地址：http://feiing.iteye.com/blog/35907
解惑 spring 嵌套事务 

   在所有使用 spring 的应用中, 声明式事务管理可能是使用率最高的功能了, 但是, 从我观察到的情况看, 
绝大多数人并不能深刻理解事务声明中不同事务传播属性配置的的含义, 让我们来看一下 TransactionDefinition 接口中的定义]]></description><category></category></item><item><title><![CDATA[spring事物注意事项]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/77116807</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/77116807</guid><author>wang370521</author><pubDate>Sat, 12 Aug 2017 15:30:23 +0800</pubDate><description><![CDATA[1.spring事物失效
很有可能是spring和springmvc配置文件中的包扫描配置冲突，注意是不是按照以下方式配置
spring配置文件，将Controller注解排除扫描

    

springmvc配置文件，只扫描Controller注解

    
2.spring事物不一致导致sqlsession频繁创建，事物不统一
不论spring与hibernate还是myba]]></description><category></category></item><item><title><![CDATA[java执行字符串中的运算公式]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/76161548</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/76161548</guid><author>wang370521</author><pubDate>Wed, 26 Jul 2017 18:55:59 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/andymu077/article/details/25193589
通过JDK自带的JS引擎来实现，算是迂回吧，提供了一种新思路。
public class runString {  
  
    static ScriptEngine jse = new ScriptEngineManager().getEngineByName("Ja]]></description><category></category></item><item><title><![CDATA[mybatis配置oracle批量插入]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/76144945</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/76144945</guid><author>wang370521</author><pubDate>Wed, 26 Jul 2017 14:02:02 +0800</pubDate><description><![CDATA[方法一：

	INSERT ALL
	
		INTO TEST
		(
		USERNAME,
		PASSWORD
		) VALUES
		(
		#{item.userName, jdbcType=NUMERIC},
		#{item.password, jdbcType=VARCHAR}
		)
	
	SELECT 1 FROM DUAL
方法二：

	INSERT INTO TEST]]></description><category></category></item><item><title><![CDATA[前端框架]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/75051735</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/75051735</guid><author>wang370521</author><pubDate>Thu, 13 Jul 2017 14:02:19 +0800</pubDate><description><![CDATA[前端路由:director
dom操作:zepto
前端模板:art-template
h5缓存:store
异步调用:promise
js模块化:require
项目打包:gulp]]></description><category></category></item><item><title><![CDATA[悟透JavaScript（理解JS面向对象的好文章）]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/74295746</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/74295746</guid><author>wang370521</author><pubDate>Tue, 04 Jul 2017 11:20:43 +0800</pubDate><description><![CDATA[转载地址：http://www.cnblogs.com/zhangshiwen/p/3627085.html#3664425


引子

    编程世界里只存在两种基本元素，一个是数据，一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。

    数据天生就是文静的，总想保持自己固有的本色；而代码却天生活泼，总想改变这个世界。
 
   你看，数据代码]]></description><category></category></item><item><title><![CDATA[集群session共享方案(有shiro共享session的方案)]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/73322042</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/73322042</guid><author>wang370521</author><pubDate>Fri, 16 Jun 2017 10:37:52 +0800</pubDate><description><![CDATA[转载部分：http://www.cnblogs.com/beyang/p/6104802.html

在Web项目开发中，会话管理是一个很重要的部分，用于存储与用户相关的数据。通常是由符合session规范的容器来负责存储管理，也就是一旦容器关闭，重启会导致会话失效。因此打造一个高可用性的系统，必须将session管理从容器中独立出来。而这实现方案有很多种，下面简单介绍下：

　　第一种是]]></description><category></category></item><item><title><![CDATA[git常用命令]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/73321542</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/73321542</guid><author>wang370521</author><pubDate>Fri, 16 Jun 2017 09:44:18 +0800</pubDate><description><![CDATA[==============分支常用操作======================
切换分支(前提是develop分支已经存在)
git checkout develop

切换到远程分支
git checkout remotes/origin/develop

新建分支并切换到该分支(分支不能重名)
git checkout -b develop

查看当前分支
git ]]></description><category></category></item><item><title><![CDATA[jenkins部署maven项目构建后部署前执行shell脚本]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/73294785</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/73294785</guid><author>wang370521</author><pubDate>Thu, 15 Jun 2017 18:11:19 +0800</pubDate><description><![CDATA[只需要配置一个插件即可
去https://plugins.jenkins.io/网站搜索Post build task插件，下载下来安装到jenkins中并重启jenkins可以看到该选项，下面是我的配置（仅供参考），每当检测到log
 text中的文本即执行script中的shell脚本，然后再部署web项目！]]></description><category></category></item><item><title><![CDATA[maven打包dubbo服务依赖jar包缺失问题]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/72901587</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/72901587</guid><author>wang370521</author><pubDate>Wed, 07 Jun 2017 16:49:34 +0800</pubDate><description><![CDATA[在dubbo服务对应的pom文件中加入以下内容

	
	zmshop-service-user
	
	
		
			src/main/java
			
				**/*.properties
				**/*.xml
			
			false
		
		
			src/main/resources
			
				**/*.xml
				**/*.properties
			
			false]]></description><category></category></item><item><title><![CDATA[dubbo程序jar包启动shell]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/72901490</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/72901490</guid><author>wang370521</author><pubDate>Wed, 07 Jun 2017 16:44:09 +0800</pubDate><description><![CDATA[将以下文件另存为dubbo-start.sh(名字随意)#启动方法
start(){
    java -Xms128m -Xmx512m -jar /完整路径/xxx1.jar 5 > /日志完整路径/xxx1.log &
    java -Xms128m -Xmx512m -jar /完整路径/xxx2.jar 5 > /日志完整路径/xxx2.log &
    java -Xms128m]]></description><category></category></item><item><title><![CDATA[shiro多realm配置(可区分不同类型用户)]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/72872198</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/72872198</guid><author>wang370521</author><pubDate>Mon, 05 Jun 2017 22:54:42 +0800</pubDate><description><![CDATA[由于项目中需要用到shiro，但是用户来自不同的三张表，需要根据token判断不同类型的用户，但是shiro得token不支持带类型的参数，所以需要重写token及认证器
1.自定义token

/**
 * 自定义带用户类型token
 * @author Sunny
 */
public class UsernamePasswordByUserTypeToken extends User]]></description><category></category></item><item><title><![CDATA[jenkins+weblogic/tomcat完全部署]]></title><link>https://blog.youkuaiyun.com/wang370521/article/details/72763859</link><guid>https://blog.youkuaiyun.com/wang370521/article/details/72763859</guid><author>wang370521</author><pubDate>Fri, 26 May 2017 10:10:30 +0800</pubDate><description><![CDATA[记录初衷：
由于每次项目部署非常痛苦，很麻烦，遂使用jenkins来部署项目，只需点击即可，但是网上不论是百度还是google关于jenkins集成weblogic部署项目的资料非常少，至少通过我的搜索没有找到一篇非常完整的，所以以次来记录，给大家提供一点参考。(此次记录包含了集成weblogic和tomcat)

整合过程：

Jenkins搭建环境

CentOS6.5(系统环境]]></description><category></category></item></channel></rss>