有关我的学习心得及笔记
12月14
一. 相同之处
都是为了解决人的需求,都需要去深入挖掘目标用户的需求,进行分析转化为功能,利用最低的成本去满足用户最迫切的需求。
都需要把产品做好,用户用得爽,才能实现盈利。
产品经理和销售经理都需要具备核心能力(包括:需求分析、产品管理、项目管理、沟通能力、技术能力、业务能力、产品设计、学习能力、逻辑思维等)。
二、不同之处
(1)产品定位:
To C需从产品能给人们解决哪些问题的角度去考虑产品定位;
To B是结合商业公司内部使用需要的层面去考虑;B端产品一定要在企业的利润链上产生价值,对企业的利润产生贡献。对最终的利润正向贡献越大,产品的价值也就越大。
To G则是从国家政策、政府工作报告等体现要做什么样的产品(比如:通过“数字政府”营造粤港澳大湾区营商与政务环境)。产品定位决定了目前用户、场景、需求等一系列维度。
(2)用户定位:To C面向个人用户;To B面向企业;To G面向政府(使用用户可以为政府决策人员、普通大众、行业用户)。
(3)需求场景:To C使用场地是随时对地;To B更多是内网;To G是内外网相结合(互联网+政务)。
(4)产品模式:商业模式或者市场路线。To C需要进行用户调研寻找细分用户,通过市场调研挖掘本职需求,需要更多地思考产品设计和用户体验层次的问题;To B和To G则需要对客户进行深度沟通,寻找MVP,而且需要一套能说服客户又能寻求利益最大化的定价策略。
(5)用户需求:To C要结合用户的“人性”需要,去挖掘大多数用户的可能性,需要做各种各样的竞品分析(包括同类产品功能层面和不同类产品解决方案);To B也是找寻大多数企业的共性需求,除非是定制化需求;To G这种则是通过一个个项目形式去满足不同时期政策的需要和符合财政预算,这类需求需要通过政府客户获取。
(6)盈利模式:To C通过内容吸引用户,有了用户流,带动资金流、物流,每个用户都是盈利的来演;To B和To G走的都是项目合同制,可以分为一期、二期和n期,需要不断保持与客户的合作关系,进行迭代规划,才能实现产品的持续变现。
(7)MVP思路不同:
建设B端和C端产品时,大的原则是类似的,都是先做加法,即充分讨论、穷举所有需求和可能性;然后再做减法,选出最核心的需求点;最后设计具体方案并将其落地,用最短的时 间和最低的成本支持业务启动。
但是在选取最小功能集合(或最小可行产品)时,B端和C端产品的区别很大:
B端产品要支持业务整体运作,所以在选取最小功能集合时,即便再简化,也要保证一个核心业务流程的运转,因此B端MVP往往是一个具备一定复杂度的系统,不可能是一个或几个功能点。
C端产品需要解决用户的痛点,需要挑选一个核心痛点去打动用户,如果核心痛点定位错误,就会导致验证失败。所以在选取最小功能集合时,C端产品要聚焦用户的核心痛 点,C端MVP可能只包含一两个功能点。
都是为了解决人的需求,都需要去深入挖掘目标用户的需求,进行分析转化为功能,利用最低的成本去满足用户最迫切的需求。
都需要把产品做好,用户用得爽,才能实现盈利。
产品经理和销售经理都需要具备核心能力(包括:需求分析、产品管理、项目管理、沟通能力、技术能力、业务能力、产品设计、学习能力、逻辑思维等)。
二、不同之处
(1)产品定位:
To C需从产品能给人们解决哪些问题的角度去考虑产品定位;
To B是结合商业公司内部使用需要的层面去考虑;B端产品一定要在企业的利润链上产生价值,对企业的利润产生贡献。对最终的利润正向贡献越大,产品的价值也就越大。
To G则是从国家政策、政府工作报告等体现要做什么样的产品(比如:通过“数字政府”营造粤港澳大湾区营商与政务环境)。产品定位决定了目前用户、场景、需求等一系列维度。
(2)用户定位:To C面向个人用户;To B面向企业;To G面向政府(使用用户可以为政府决策人员、普通大众、行业用户)。
(3)需求场景:To C使用场地是随时对地;To B更多是内网;To G是内外网相结合(互联网+政务)。
(4)产品模式:商业模式或者市场路线。To C需要进行用户调研寻找细分用户,通过市场调研挖掘本职需求,需要更多地思考产品设计和用户体验层次的问题;To B和To G则需要对客户进行深度沟通,寻找MVP,而且需要一套能说服客户又能寻求利益最大化的定价策略。
(5)用户需求:To C要结合用户的“人性”需要,去挖掘大多数用户的可能性,需要做各种各样的竞品分析(包括同类产品功能层面和不同类产品解决方案);To B也是找寻大多数企业的共性需求,除非是定制化需求;To G这种则是通过一个个项目形式去满足不同时期政策的需要和符合财政预算,这类需求需要通过政府客户获取。
(6)盈利模式:To C通过内容吸引用户,有了用户流,带动资金流、物流,每个用户都是盈利的来演;To B和To G走的都是项目合同制,可以分为一期、二期和n期,需要不断保持与客户的合作关系,进行迭代规划,才能实现产品的持续变现。
(7)MVP思路不同:
建设B端和C端产品时,大的原则是类似的,都是先做加法,即充分讨论、穷举所有需求和可能性;然后再做减法,选出最核心的需求点;最后设计具体方案并将其落地,用最短的时 间和最低的成本支持业务启动。
但是在选取最小功能集合(或最小可行产品)时,B端和C端产品的区别很大:
B端产品要支持业务整体运作,所以在选取最小功能集合时,即便再简化,也要保证一个核心业务流程的运转,因此B端MVP往往是一个具备一定复杂度的系统,不可能是一个或几个功能点。
C端产品需要解决用户的痛点,需要挑选一个核心痛点去打动用户,如果核心痛点定位错误,就会导致验证失败。所以在选取最小功能集合时,C端产品要聚焦用户的核心痛 点,C端MVP可能只包含一两个功能点。
4月21
首先我们来看看95后的生活和成长环境,这一代人很多是母亲做全职家庭主妇,每天接送孩子上学放学,陪伴写作业,吃饭请过来,水果送到面前。各种兴趣班,高强度补课,95后已经厌倦了学习。工作后家里给配车,几乎一线城市的父母都有房产留给他们,只要他们的工资能养活自己不用家里补贴就行了。
以上分析虽然不能代表所有95后家庭,但是绝大多数城市的孩子都在类似环境中成长的。
雇佣95后员工面临的问题是什么?
在95后的家庭中,父母充当了保姆和秘书的工作,长期在这种环境中生活,有些能力被扼杀了,有些95后进入社会后,可能意识到这些问题,并主动去改变自己,更多的人可能一辈子无法改变,这种情况从90后身上可能看到。一旦进入公司,就离开了“保姆和秘书”的舒适区,需要很长时间去适应,这与80后是放养的一代人,野蛮生长,经过优胜略汰(社会达尔文主义),最后胜出的人完全不同。
95后员工缺少什么:
自驱能力
主动能力
思考能力
创新能力
自学能力
工作中你会发现,95后员工几乎绝大多数都存在上面列出的问题。
以上分析虽然不能代表所有95后家庭,但是绝大多数城市的孩子都在类似环境中成长的。
雇佣95后员工面临的问题是什么?
在95后的家庭中,父母充当了保姆和秘书的工作,长期在这种环境中生活,有些能力被扼杀了,有些95后进入社会后,可能意识到这些问题,并主动去改变自己,更多的人可能一辈子无法改变,这种情况从90后身上可能看到。一旦进入公司,就离开了“保姆和秘书”的舒适区,需要很长时间去适应,这与80后是放养的一代人,野蛮生长,经过优胜略汰(社会达尔文主义),最后胜出的人完全不同。
95后员工缺少什么:
自驱能力
主动能力
思考能力
创新能力
自学能力
工作中你会发现,95后员工几乎绝大多数都存在上面列出的问题。
6月21
[ubuntu@titan]# /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
确认已经安装PCRE
[ubuntu@titan]# sbin/nginx
sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
[ubuntu@titan]# error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
[ubuntu@titan]# whereis libpcre.so.1
libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so /usr/local/lib/libpcre.so.1
添加软链接:
[ubuntu@titan]# ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1
前面在一般的linux上可以解决此问题.
注: 在有的操作系统上面,安装pcre后,安装的位置为/usr/local/lib/*pcre*
在redhat 64位机器之上有这样的情况.
在redhat 64位机器上, nginx可能读取的pcre文件为/lib64/libpcre.so.1文件.
所以在改用下面的软连接:
[ubuntu@titan]# ln -s /usr/local/lib/libpcre.so.1 /lib64
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
确认已经安装PCRE
[ubuntu@titan]# sbin/nginx
sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
[ubuntu@titan]# error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
[ubuntu@titan]# whereis libpcre.so.1
libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so /usr/local/lib/libpcre.so.1
添加软链接:
[ubuntu@titan]# ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1
前面在一般的linux上可以解决此问题.
注: 在有的操作系统上面,安装pcre后,安装的位置为/usr/local/lib/*pcre*
在redhat 64位机器之上有这样的情况.
在redhat 64位机器上, nginx可能读取的pcre文件为/lib64/libpcre.so.1文件.
所以在改用下面的软连接:
[ubuntu@titan]# ln -s /usr/local/lib/libpcre.so.1 /lib64
2月27
有一个邮件模板,例如:
亲爱的用户${name},你好,欢迎加入xx系统平台。这种简单的不想去依赖freemarker、velocity这种模板引擎框架,所以自己用正则实现了,如下:
/**
* 替换模板标签变量
*
* @param params 变量键值
* @param templetConent 模板内容
* @return
*/
public String replaceTempletTags(SmsParams params, String templetConent) {
String smsContent;
try {
//生成匹配模式的正则表达式
String patternString = "\\$\\{(" + StringUtils.join(params.getSmsParam().keySet(), "|") + ")\\}";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(templetConent);
//两个方法:appendReplacement, appendTail
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, params.getSmsParam().get(matcher.group(1)).toString());
}
matcher.appendTail(sb);
smsContent = sb.toString();
} catch (Exception e) {
throw new RuntimeException("解析模板并替换标签值时失败!" + e);
}
return smsContent;
}
亲爱的用户${name},你好,欢迎加入xx系统平台。这种简单的不想去依赖freemarker、velocity这种模板引擎框架,所以自己用正则实现了,如下:
/**
* 替换模板标签变量
*
* @param params 变量键值
* @param templetConent 模板内容
* @return
*/
public String replaceTempletTags(SmsParams params, String templetConent) {
String smsContent;
try {
//生成匹配模式的正则表达式
String patternString = "\\$\\{(" + StringUtils.join(params.getSmsParam().keySet(), "|") + ")\\}";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(templetConent);
//两个方法:appendReplacement, appendTail
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, params.getSmsParam().get(matcher.group(1)).toString());
}
matcher.appendTail(sb);
smsContent = sb.toString();
} catch (Exception e) {
throw new RuntimeException("解析模板并替换标签值时失败!" + e);
}
return smsContent;
}
2月17
其实一直想写一篇文章名字都想好了,叫做“程序员该不该理财?”。后来想了想,该不该这个就不用想了,必须要理财!那么市面上那么多理财的方式对于我们屌丝的程序员该如何选择呢?
其实我也是那种土的掉咋的那种类型,以前几乎没有想过神马理财的,一来呢毕业的时候工资全都不够花的还理个毛线,二来总是感觉理财好像都是有钱人搞的东西;后来偶然进入了互联网金融行业,呆了几年,慢慢也接触了很多理财方式,但也还是一个门外汉,此文就是和大家一起聊聊我们程序员该如何去理财?算是抛砖引玉,欢迎拍砖。
我的理财经历
先聊聊我的理财经历,我的理财大概也是从毕业三年之后才慢慢开始的,对了也就是从余额宝开始,后来在第三方支付、互联网金融公司工作,对理财的种类了解慢慢多了起来,互联网金融也就是P2P或者金融公司产品各种变种(其实也是债权类产品的进一步封装),有活期产品、封闭期的固定收益产品(日、月、年类的固定收益);买了股票(先是A股,后来美股),在了解了基金(指数基金、债券基金、股票基金等等),后来也看了黄金和期货(了解较少)、保险接触最少。
一路慢慢走来,理财的这种想法和认识也是在不断的发展变化,不认识、不了解、不认同的一些偏见也在慢慢的消失,可以以更理性的角度去看待投资理财的这件事情,理财真的是我们每一个人都应该好好的学习的事情,如何让你辛辛苦苦的积蓄可以跑赢通货膨胀,不随着时间推移我们的资产不断缩水;但是在工作中常常发现我们的程序员对于理财目前来讲大多都还是比较保守,常常是全部都银行或者全部宝宝类产品,更有激进者全都投入股市,有一年损失十几万的。下面分几个阶段来聊聊我对理财的几个认识:
宝宝时代
说起了理财或者第三方支付,总是不能避开一家伟大的公司-支付宝,支付宝一直在引领、教育着我们这一代人对于理财的认识;我的理财起点就是从余额宝开始的,清晰的记得13年6月余额宝出来的时候,大家都感觉到稀奇或者不了解(当时仍然有很多人认为还是把钱放到银行保险,哪怕余额宝也是!),记得当初刚开始余额宝转进去了100元,每天看着它给带来的几分钱收益都很满足,然后就一发不扣收拾,几乎是前脚收到发工资的短信,下一分钟钱就同步到了余额宝里面,曾经有一段时间中国闹钱荒,导致余额宝的最高收益高达6.76;
不过后来由于这块的蛋糕台大了,各大银行也都着急出了很多的政策来限制:第一步,开限额,导致大额资金无法进入;第二步,自己干,很多银行自己也推出了资金的货币基金理财产品和余额宝来竞争,理财通也横空出世,理财通搞了一个同卡进出的理念比较好,很大程度上对资金安全起了很大的作用。
其实我也是那种土的掉咋的那种类型,以前几乎没有想过神马理财的,一来呢毕业的时候工资全都不够花的还理个毛线,二来总是感觉理财好像都是有钱人搞的东西;后来偶然进入了互联网金融行业,呆了几年,慢慢也接触了很多理财方式,但也还是一个门外汉,此文就是和大家一起聊聊我们程序员该如何去理财?算是抛砖引玉,欢迎拍砖。
我的理财经历
先聊聊我的理财经历,我的理财大概也是从毕业三年之后才慢慢开始的,对了也就是从余额宝开始,后来在第三方支付、互联网金融公司工作,对理财的种类了解慢慢多了起来,互联网金融也就是P2P或者金融公司产品各种变种(其实也是债权类产品的进一步封装),有活期产品、封闭期的固定收益产品(日、月、年类的固定收益);买了股票(先是A股,后来美股),在了解了基金(指数基金、债券基金、股票基金等等),后来也看了黄金和期货(了解较少)、保险接触最少。
一路慢慢走来,理财的这种想法和认识也是在不断的发展变化,不认识、不了解、不认同的一些偏见也在慢慢的消失,可以以更理性的角度去看待投资理财的这件事情,理财真的是我们每一个人都应该好好的学习的事情,如何让你辛辛苦苦的积蓄可以跑赢通货膨胀,不随着时间推移我们的资产不断缩水;但是在工作中常常发现我们的程序员对于理财目前来讲大多都还是比较保守,常常是全部都银行或者全部宝宝类产品,更有激进者全都投入股市,有一年损失十几万的。下面分几个阶段来聊聊我对理财的几个认识:
宝宝时代
说起了理财或者第三方支付,总是不能避开一家伟大的公司-支付宝,支付宝一直在引领、教育着我们这一代人对于理财的认识;我的理财起点就是从余额宝开始的,清晰的记得13年6月余额宝出来的时候,大家都感觉到稀奇或者不了解(当时仍然有很多人认为还是把钱放到银行保险,哪怕余额宝也是!),记得当初刚开始余额宝转进去了100元,每天看着它给带来的几分钱收益都很满足,然后就一发不扣收拾,几乎是前脚收到发工资的短信,下一分钟钱就同步到了余额宝里面,曾经有一段时间中国闹钱荒,导致余额宝的最高收益高达6.76;
不过后来由于这块的蛋糕台大了,各大银行也都着急出了很多的政策来限制:第一步,开限额,导致大额资金无法进入;第二步,自己干,很多银行自己也推出了资金的货币基金理财产品和余额宝来竞争,理财通也横空出世,理财通搞了一个同卡进出的理念比较好,很大程度上对资金安全起了很大的作用。
4月13
这是一篇存档性笔记,我自己存档一下对这3个词的理解。如果你已经明了了这3个词的意思,请直接忽略之
首先,搞清楚商品与单品的区别。例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了。
商品:淘宝叫item,京东叫product,商品特指与商家有关的商品,每个商品有一个商家编码,每个商品下面有多个颜色,款式,可以有多个SKU。
SPU = Standard Product Unit (标准化产品单元)
SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。
例如,iphone4就是一个SPU,N97也是一个SPU,这个与商家无关,与颜色、款式、套餐也无关。以化妆品为例,下图是拍拍商城给出的SPU信息:

首先,搞清楚商品与单品的区别。例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了。
商品:淘宝叫item,京东叫product,商品特指与商家有关的商品,每个商品有一个商家编码,每个商品下面有多个颜色,款式,可以有多个SKU。
SPU = Standard Product Unit (标准化产品单元)
SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。
例如,iphone4就是一个SPU,N97也是一个SPU,这个与商家无关,与颜色、款式、套餐也无关。以化妆品为例,下图是拍拍商城给出的SPU信息:
2月17
具体的步骤如下:
1、打开电脑,在出现开机画面时,按F1键进入bios设置窗口
2、使用键盘上的左右方向键将光标移至“security”栏目,再使用上下方向键将光标移至“secure boot”选项,按回车键执行。
3、进入secure boot菜单界面后,将光标移至“secure boot”选项,按回车键确认。
4、此时,会弹出一个选择窗口,将光标移至“disabled”选项,按回车键确认。
5、完成上面的操作后,secure boot的属性就修改为“disabled”,然后按esc键返回上一步。
6、接着使用左右方向键将光标移至“startup”栏目,再使用上下方向键将光标移至“uefi/legacy boot”选项,按回车键,在弹出的选择窗口中,使用上下方向键将光标移至“both”选项,按回车键确认。
7、然后再使用上下方向键将光标移至“uefi/legacy boot priority”选项,按回车键确认,此时会弹出一个选择窗口,将光标移至“uefi first”选项,按回车键确认。
当然有可能是U盘不兼容导致的。你换其他U口试一下。如果其他U口也不行,建议你进入BIOS--Config--USB--里面有个USB3.0mode,你改成Disabled再试一下。
安装系统时提示:
Windows无法安装到这个磁盘。选中的磁盘采用GPT分区形式。
将磁盘格式由GPT转换成MBR。操作步骤:
进入PE,Windows+R,
当然也可在安装选择语言界面按FN+SHIFT+F10 ,打开命令提示符,别的电脑只按SHIFT+F10就行了,thinkpad的都要加上FN。
输入:Diskpart,回车;
输入:list disk,查看磁盘信息(注意容量);
输入:select disk 0(如果要更改的磁盘编码是1则改为1);
输入:Clean;
输入:convert mbr;
操作完成关闭命令提示符窗口,正常重启安装win7即可。
1、打开电脑,在出现开机画面时,按F1键进入bios设置窗口
2、使用键盘上的左右方向键将光标移至“security”栏目,再使用上下方向键将光标移至“secure boot”选项,按回车键执行。
3、进入secure boot菜单界面后,将光标移至“secure boot”选项,按回车键确认。
4、此时,会弹出一个选择窗口,将光标移至“disabled”选项,按回车键确认。
5、完成上面的操作后,secure boot的属性就修改为“disabled”,然后按esc键返回上一步。
6、接着使用左右方向键将光标移至“startup”栏目,再使用上下方向键将光标移至“uefi/legacy boot”选项,按回车键,在弹出的选择窗口中,使用上下方向键将光标移至“both”选项,按回车键确认。
7、然后再使用上下方向键将光标移至“uefi/legacy boot priority”选项,按回车键确认,此时会弹出一个选择窗口,将光标移至“uefi first”选项,按回车键确认。
当然有可能是U盘不兼容导致的。你换其他U口试一下。如果其他U口也不行,建议你进入BIOS--Config--USB--里面有个USB3.0mode,你改成Disabled再试一下。
安装系统时提示:
Windows无法安装到这个磁盘。选中的磁盘采用GPT分区形式。
将磁盘格式由GPT转换成MBR。操作步骤:
进入PE,Windows+R,
当然也可在安装选择语言界面按FN+SHIFT+F10 ,打开命令提示符,别的电脑只按SHIFT+F10就行了,thinkpad的都要加上FN。
输入:Diskpart,回车;
输入:list disk,查看磁盘信息(注意容量);
输入:select disk 0(如果要更改的磁盘编码是1则改为1);
输入:Clean;
输入:convert mbr;
操作完成关闭命令提示符窗口,正常重启安装win7即可。
11月1
Spring MVC 3.2.11 + Spring 3.2.11 + Mybatis3.23
1、Spring MVC 和 Spring 整合的时候,SpringMVC的spring-servlet.xml文件中 配置扫描包,不要包含 service的注解,Spring的applicationContext.xml文件中 配置扫描包时,不要包含controller的注解,如下所示:
SpringMVC的spring-servlet.xmll配置:
<context:component-scan base-package="tk.hecks">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
Spring MVC启动时的配置文件,包含组件扫描、url映射以及设置freemarker参数,让spring不扫描带有@Service注解的类。
为什么要这样设置?因为spring-servlet.xmll与applicationContext.xml不是同时加载,如果不进行这样的设置,那么,spring就会将所有带@Service注解的类都扫描到容器中,等到加载applicationContext.xml的时候,会因为容器已经存在Service类,使得cglib将不对Service进行代理,直接导致的结果就是在applicationContext 中的事务配置不起作用,发生异常时,无法对数据进行回滚。以上就是原因所在。
同样的在Spring的xml配置如下:
<context:component-scan base-package="tk.hecks">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
扫描包路径,不扫描带有@Controller注解的类。因为这些类已经随容器启动时,在spring-servlet.xml中扫描过一遍了。
1、Spring MVC 和 Spring 整合的时候,SpringMVC的spring-servlet.xml文件中 配置扫描包,不要包含 service的注解,Spring的applicationContext.xml文件中 配置扫描包时,不要包含controller的注解,如下所示:
SpringMVC的spring-servlet.xmll配置:
<context:component-scan base-package="tk.hecks">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
Spring MVC启动时的配置文件,包含组件扫描、url映射以及设置freemarker参数,让spring不扫描带有@Service注解的类。
为什么要这样设置?因为spring-servlet.xmll与applicationContext.xml不是同时加载,如果不进行这样的设置,那么,spring就会将所有带@Service注解的类都扫描到容器中,等到加载applicationContext.xml的时候,会因为容器已经存在Service类,使得cglib将不对Service进行代理,直接导致的结果就是在applicationContext 中的事务配置不起作用,发生异常时,无法对数据进行回滚。以上就是原因所在。
同样的在Spring的xml配置如下:
<context:component-scan base-package="tk.hecks">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
扫描包路径,不扫描带有@Controller注解的类。因为这些类已经随容器启动时,在spring-servlet.xml中扫描过一遍了。
3月5
其实好习惯谁都想坚持,但无奈90%的人因为缺乏意志力而无法坚持。心理学家总结出的5个增强意志力妙招,不妨一试。
多考虑长期后果,不贪图短期快乐。哥伦比亚大学一项新研究发现,点香烟之前,与考虑短期快感的人相比,考虑吸烟长期危害的人更能抵挡住香烟的诱惑。耶鲁大学医学院心理学教授赫蒂表示,人们可以利用“思考未来”模式,增强意志力。
转移视线。心理学家麦戈尼格尔建议,当恶习袭来时,轻握拳头能将注意力转移到握拳动作及感觉上。
确立切实可行的小目标。大量研究表明,接受较小改变(如坐直身体等)的人在自控力测试中成绩更好。目标较小,实现的可能性就越大。麦戈尼格尔建议,将自己制定的目标减半,有助于提高意志力。
不饿肚子,不剥夺睡眠。佛罗里达州立大学研究人员发现,与吃饱肚子的人相比,由于不吃饭而导致低血糖的人,在自控力测试中得分更低。每晚睡眠不足6小时的人,也有同样的糟糕表现。
坚持3周时间。一种新习惯的养成必须通过大约21天的过渡期,这样大脑才能将新习惯视为日常活动。另外,偶尔一次未能坚持并不代表计划失败。
多考虑长期后果,不贪图短期快乐。哥伦比亚大学一项新研究发现,点香烟之前,与考虑短期快感的人相比,考虑吸烟长期危害的人更能抵挡住香烟的诱惑。耶鲁大学医学院心理学教授赫蒂表示,人们可以利用“思考未来”模式,增强意志力。
转移视线。心理学家麦戈尼格尔建议,当恶习袭来时,轻握拳头能将注意力转移到握拳动作及感觉上。
确立切实可行的小目标。大量研究表明,接受较小改变(如坐直身体等)的人在自控力测试中成绩更好。目标较小,实现的可能性就越大。麦戈尼格尔建议,将自己制定的目标减半,有助于提高意志力。
不饿肚子,不剥夺睡眠。佛罗里达州立大学研究人员发现,与吃饱肚子的人相比,由于不吃饭而导致低血糖的人,在自控力测试中得分更低。每晚睡眠不足6小时的人,也有同样的糟糕表现。
坚持3周时间。一种新习惯的养成必须通过大约21天的过渡期,这样大脑才能将新习惯视为日常活动。另外,偶尔一次未能坚持并不代表计划失败。
11月20
1,事业永远第一
虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上。
2,别把钱看得太重
不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太介意学历低。30岁之前靠自己能力买车买房的人还是极少。
3,学会体谅父母
别嫌他们唠叨,等你为人父了你就知道可怜天下父母心,在他们眼里你还是个孩子,但他们真的老了,现在得你哄他们开心了,也许只要你的一个电话,一点小礼物,就可以让他们安心,很容易做到。
4,交上好朋友
朋友对你一生都影响重大,不要去结识太多酒肉朋友,至少得有一个能在关键时刻帮助你的朋友,如果遇到这么一个人,就好好把握,日后必定有用,不管他现在是富还是穷。
5,别太相信爱情
心中要有爱,但请别说也别相信那些琼瑶阿姨小说里面的山盟海誓,世上本无永恒,重要的是责任,但女人心海底针,心变了,一切都成枉然,你要做的就是该出手时就出手,该放手时别犹豫。30岁之前的爱情不是假的,但只是大多数人都没有能真正把握好的能力,所以学会量力而行。
虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上。
2,别把钱看得太重
不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太介意学历低。30岁之前靠自己能力买车买房的人还是极少。
3,学会体谅父母
别嫌他们唠叨,等你为人父了你就知道可怜天下父母心,在他们眼里你还是个孩子,但他们真的老了,现在得你哄他们开心了,也许只要你的一个电话,一点小礼物,就可以让他们安心,很容易做到。
4,交上好朋友
朋友对你一生都影响重大,不要去结识太多酒肉朋友,至少得有一个能在关键时刻帮助你的朋友,如果遇到这么一个人,就好好把握,日后必定有用,不管他现在是富还是穷。
5,别太相信爱情
心中要有爱,但请别说也别相信那些琼瑶阿姨小说里面的山盟海誓,世上本无永恒,重要的是责任,但女人心海底针,心变了,一切都成枉然,你要做的就是该出手时就出手,该放手时别犹豫。30岁之前的爱情不是假的,但只是大多数人都没有能真正把握好的能力,所以学会量力而行。