摘要:文章转载自:http://blog.csdn.net/pozen/article/details/7583820很多人表面上看着老实巴交的,实际上内心比谁都好强、自负、虚荣、甚至阴险。工作中见的多了,也就习惯了。有一些人,什么事都写在脸上,表面上经常得罪人,甚至让人讨厌。但是他们所表现的又未必不是真性情。我相信大多数人都看过《豪门夜宴》这部香港老电影。张学友、梁朝伟演的拍马屁的场景太有意思了,其中有这样一段:当两马屁精帮老板说出主意,老板马上叫停,然后拍一下脑门:“哦,我想到了。”,把别人的idea当成自己的说出来。我在工作中还真不止一次遇到这种事,我提出来的想法老被别人拿来当作自己的原创,当 阅读全文
如何成为强大的程序员?
2013-10-28 23:09 by Rollen Holt, 860 阅读, 0 推荐, 收藏, 编辑
摘要:Aaron Stannard是新创公司MarkedUp的CEO,他最近花费大量时间雇佣、评估很多不同的程序员,并和他们一起协作。在这个过程中他发现并总结了十种程序员无法意识到自己潜力的原因,意在让更多程序员发掘出自己的潜力,从而成为强大的程序员。Aaron提到,他的公司中所使用的技术非常复杂,某些大型企业都很难掌握,所以对于想要加入团队的程序员来说,入门门槛非常高。因此,尽管他们非常仔细地雇佣新人,但还是很难找到足够天才的程序员。于是,他总结出十种阻碍程序员职业生涯发展的行为,并据此来帮助想要提升自身的平凡的程序员们。1. 太害怕学不会新的工具、语言和框架一般的程序员会墨守他们最喜欢的工具,而 阅读全文
如何实现“秒杀”系统
2013-10-28 23:04 by Rollen Holt, 18617 阅读, 3 推荐, 收藏, 编辑
摘要:昨晚和一公司工作几年的同事闲扯了一些程序人生和技术问题。感觉自己目前的经验还是太少太少了,看的书也不是太多,惭愧啊。就比如同事问了我一个如何做一个我们很常见的“秒杀”系统,我当时一拍脑门直接回答说加个排它锁不就行了么,但是晚上回到家里google了一番之后,深深的感到脸红啊。一个看似简单的“秒杀”系统,里面涉及到的东西也着实不少,而不仅仅是一个简单的加锁就行了的。我大致整理了一下我想到的和google到的需要注意的地方,当然有很多的不足,同时也希望大神们能够指点一点:1)对现有网站业务的冲击因为秒杀活动只是网站营销的一个附加活动,这个活动具有时间短,并发访问量大的特点,如果和网站原有应用部署在 阅读全文
关于博客园代码样式的调整
2013-10-22 01:07 by Rollen Holt, 589 阅读, 0 推荐, 收藏, 编辑
摘要:我一直在自己的博客中使用的是自定义的syntaxHighlighter代码着色。参考:http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/结果最近发现我的代码着色变成了:发现没有,代码间距变的很大,样式很丑。通过查看源代码发现:博客园的公共css增加了这一行:这是罪魁祸首。解决办法就是在设置里面:增加这一行就搞定了。我的现在的样式为:我比较满意。 阅读全文
Consuming a RESTful Web Service
2013-10-22 00:36 by Rollen Holt, 1299 阅读, 0 推荐, 收藏, 编辑
摘要:本篇文章将介绍使用Spring来建立RESTful的Web Service。 我们通过一个例子来说明这篇文章:这个例子将会使用Spring的RestTemplate来从Facebook的提供的API中获取一些信息。然后对这些信息进行一些处理。Facebook的API为:http://graph.facebook.com/gopivotal 其实在这个例子中,这个API只是为了掩饰用,并没有特别的含义。这个例子也只是为了说明从一个在线的接口中获取一些数据并进行处理。 当我们通过浏览器或者curl请求这个路径的时候会返回数据格式为: { "id": "16111270 阅读全文
漫话中文自动分词和语义识别(下):句法结构和语义结构
2013-10-21 23:28 by Rollen Holt, 744 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.matrix67.com/blog/archives/4870这篇文章是漫话中文分词算法的续篇。在这里,我们将紧接着上一篇文章的内容继续探讨下去:如果计算机可以对一句话进行自动分词,它还能进一步整理句子的结构,甚至理解句子的意思吗?这两篇文章的关系十分紧密,因此,我把前一篇文章改名为了《漫话中文自动分词和语义识别(上)》,这篇文章自然就是它的下篇。我已经在很多不同的地方做过与这个话题有关的演讲了,在这里我想把它们写下来,和更多的人一同分享。什么叫做句法结构呢?让我们来看一些例子。“白天鹅在水中游”,这句话是有歧义的,它可能指的是“白天有一只鹅在水中游”,也可能指的是 阅读全文
TF-IDF与余弦相似性的应用(三):自动摘要
2013-10-21 23:27 by Rollen Holt, 437 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.ruanyifeng.com/blog/2013/03/automatic_summarization.html有时候,很简单的数学方法,就可以完成很复杂的任务。这个系列的前两部分就是很好的例子。仅仅依靠统计词频,就能找出关键词和相似文章。虽然它们算不上效果最好的方法,但肯定是最简便易行的方法。今天,依然继续这个主题。讨论如何通过词频,对文章进行自动摘要(Automatic summarization)。如果能从3000字的文章,提炼出150字的摘要,就可以为读者节省大量阅读时间。由人完成的摘要叫”人工摘要”,由机器完成的就叫”自动摘要”。许多网站都需要它,比如论文 阅读全文
漫话中文自动分词和语义识别(上):中文分词算法
2013-10-21 23:25 by Rollen Holt, 685 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.matrix67.com/blog/archives/4212记得第一次了解中文分词算法是在Google 黑板报上看到的,当初看到那个算法时我彻底被震撼住了,想不到一个看似不可能完成的任务竟然有如此神奇巧妙的算法。最近在詹卫东老师的《中文信息处理导论》课上再次学到中文分词算法,才知道这并不是中文分词算法研究的全部,前前后后还有很多故事可讲。在没有建立统计语言模型时,人们还在语言学的角度对自动分词进行研究,期间诞生了很多有意思的理论。中文分词的主要困难在于分词歧义。“结婚的和尚未结婚的”,应该分成“结婚/的/和/尚未/结婚/的”,还是“结婚/的/和尚/未/结婚/的”? 阅读全文
TF-IDF与余弦相似性的应用(二):找出相似文章
2013-10-21 23:24 by Rollen Holt, 637 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html上一次,我用TF-IDF 算法自动提取关键词。今天,我们再来研究另一个相关的问题。有些时候,除了找到关键词,我们还希望找到与原文章相似的其他文章。比如,”Google 新闻”在主新闻下方,还提供多条相似的新闻。为了找出相似的文章,需要用到“余弦相似性”(cosine similiarity)。下面,我举一个例子来说明,什么是”余弦相似性”。为了简单起见,我们先从句子着手。句子A:我喜欢看电视,不喜欢看电影。句子B:我不喜欢看电视,也不喜欢看电影。请问怎样才能计算上面两 阅读全文
TF-IDF与余弦相似性的应用(一):自动提取关键词
2013-10-21 23:23 by Rollen Holt, 372 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.ruanyifeng.com/blog/2013/03/tf-idf.html这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题。有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到?这个问题涉及到数据挖掘、文本处理、信息检索等很多计算机前沿领域,但是出乎意料的是,有一个非常简单的经典算法,可以给出令人相当满意的结果。它简单到都不需要高等数学,普通人只用 10 分钟就可以理解,这就是我今天想要介绍的TF-IDF算法。让我们从一个实例开始讲起。假定现在有一篇长文《中 阅读全文
网站统计中的数据收集原理及实现
2013-10-21 23:20 by Rollen Holt, 435 阅读, 0 推荐, 收藏, 编辑
摘要:网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理,并一步一步实际搭建一个实际的数据收集系统。数据收集原理分析简单来说,网站统计分析工具需要收集到用户浏览目标网站的行为(如打开某网页、点击某按钮、将商品加入购物车等)及行为附加数据(如某下单行为产生的订单金额等)。早期的网站统计往往只收集一种用户行为:页面的打开。而后用户在页面中的行为均无法收集。这种收集策略能满足基本的流量分析、来源分析、内容分析及 阅读全文
memcached的分布式
2013-10-21 21:41 by Rollen Holt, 2741 阅读, 0 推荐, 收藏, 编辑
摘要:今天写点周末在火车上看的memcached的东西:一:memcached的分布式 虽然memcached被称为“分布式”缓存服务器,但是服务器端并没有“分布式”的功能。而是通过客户端来实现的。 Memcached分布式原理: 假设有5台memcached服务器:node1,node2… nod... 阅读全文
linux安装Mac的默认Monaco字体
2013-10-18 11:08 by Rollen Holt, 7056 阅读, 0 推荐, 收藏, 编辑
摘要:Monaco字体是我最喜欢的编程字体,如果你想在linux上面安装,只需要在terminal中执行:curl -kL https://raw.github.com/cstrap/monaco-font/master/install-font-ubuntu.sh | bash一切就是那么完美 阅读全文
Mybatis的ResultMap的使用
2013-10-12 20:32 by Rollen Holt, 227136 阅读, 21 推荐, 收藏, 编辑
摘要:本篇文章通过一个实际工作中遇到的例子开始吧: 工程使用Spring+Mybatis+Mysql开发。具体的业务逻辑很重,对象之间一层一层的嵌套。和数据库表对应的是大量的model类,而和前端交互的是Vo类。现在需要做一个需求,有两种方式来实现: 使用现有的Service接口,或者自己在编写一些用到的接口,手动使用Java代码来分别调用Service接口来查出各个model,然后在业务层将model转换为vo,最后返回给前端json串。 为需求相关的页面定义自己的vo,在vo中只定义前端用到的字段。而不是像第一种方式一样vo中一层一层的嵌套model。然后使用sql语句进行表关联,查... 阅读全文
mybatis-spring从1.1升级到1.2所带来的dao层级的编写问题
2013-10-09 10:33 by Rollen Holt, 6911 阅读, 2 推荐, 收藏, 编辑
摘要:我们公司的项目使用spring+mybatis组合。所以就必须得使用mybatis-spring了。所以此处就昨日mybatis-spring从1.1升级到1.2所带来的dao层级的编写问题,做了一个总结。我们可以先来看看mybatis-spring框架的1.1.1版本中关于SqlSessionDa... 阅读全文
win7下面完全删除mysql
2013-10-08 18:17 by Rollen Holt, 22925 阅读, 2 推荐, 收藏, 编辑
摘要:今天因为一些原因重装完成mysql的时候,在启动mysql服务的时候,一直卡死在哪快。最后整的都无语了。在google里搜索:mysql安装失败 ,会找到一堆类似的问题汇总,其实上面说的方法都是正确的,不过基本上都是互相copy过来的,,但是他们都少说了一点,这是在windows xp 的环境下操作的,不是在windows 7下操作的;其实mysql在windows 7 下还暗藏了一招,在C盘的ProgramData文件夹下还有一个MYSQL文件夹,通常这个ProgramData是隐藏文件,需要通过设置显示出来(这个不再熬述),在里面会发现MYSQL的文件夹,通常当按照网上的方法删除干净之后, 阅读全文
groovy-实现接口
2013-10-02 01:36 by Rollen Holt, 2678 阅读, 0 推荐, 收藏, 编辑
摘要:Groovy提供了一些非常方便的方法来实现接口使用闭包实现接口只有一个方法的接口可以使用闭包来实现,例如1// a readable puts chars into a CharBuffer and returns the count of chars added2defreadable = { it.put("12 34".reverse());5}asReadable34// the Scanner constructor can take a Readable5defs =newScanner(readable)6asserts.nextInt() ==43当然也可以 阅读全文
groovy-正则表达式
2013-10-02 01:35 by Rollen Holt, 17258 阅读, 0 推荐, 收藏, 编辑
摘要:Groovy使用~”pattern”来支持正则表达式,它将使用给定的模式字符串创建一个编译好的Java Pattern 对象。Groovy也支持=~(创建一个Matcher)和==~ (返回boolean,是否给定的字符串匹配这个pattern)操作符。对于groups的匹配,matcher[index] 是一个匹配到的group字符串的List或者string。1importjava.util.regex.Matcher2importjava.util.regex.Pattern3// ~ creates a Pattern from String4defpattern = ~/foo/5a 阅读全文
groovy-输入输出
2013-10-02 01:33 by Rollen Holt, 6134 阅读, 0 推荐, 收藏, 编辑
摘要:Groovy为I/O提供了一系列的helper methods,所有的这些方法都适用于标准的Java Reader/Writer ,InputStream/OutputStream 和File 以及URL classes.闭包的使用可以确保资源被正确的关闭,比如遍历文件的每一行可以使用下面的代码:1newFile("foo.txt").eachLine{ line ->println(line) }如果在某些情况下,println()方法抛出了异常,那么eachLine()方法将确保资源被正确的关闭,同样的,如果在读取的时候发生了异常,那么资源也将会被正确的关闭。如果 阅读全文
groovy-集合
2013-10-02 01:32 by Rollen Holt, 755 阅读, 0 推荐, 收藏, 编辑
摘要:Lists你能使用下面的方法创建一个lists,注意[]是一个空list。1deflist = [5,6,7,8]2assertlist.get(2) ==73assertlist[2] ==74assertlistinstanceofjava.util.List56defemptyList = []7assertemptyList.size() ==08emptyList.add(5)9assertemptyList.size() ==1每个列表表达式都是创建了java.util.List的一个实例。RangesRanges容许你创建一个值序列,这个只序列可以被用作Lists,因为Range 阅读全文
groovy-真值
2013-10-02 01:32 by Rollen Holt, 569 阅读, 0 推荐, 收藏, 编辑
摘要:Boolean expressionsGroovy支持标准的条件运算符的布尔表达式:1defa = true2defb = true3defc = false4asserta5asserta && b6asserta || c7assert!c此外,Groovy中有强制转换非布尔对象为布尔值的特殊规则。集合空集合会被强制转换为false:1defnumbers = [1,2,3]2assertnumbers//true, as numbers in not empty3numbers = []4assert!numbers//true, as numbers is now an 阅读全文
groovy-保留字
2013-10-02 01:30 by Rollen Holt, 724 阅读, 0 推荐, 收藏, 编辑
摘要:groovy的保留字:abstractasassertbooleanbreakbytecasecatchcharclassconstcontinuedefdefaultdodoubleelseenumextendsfalsefinalfinallyfloatforgotoifimplementsimportininstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthreadsafethrowthrowstra 阅读全文
groovy-闭包
2013-10-02 01:29 by Rollen Holt, 4189 阅读, 0 推荐, 收藏, 编辑
摘要:什么是闭包一个groovy闭包就像一个代码块或者方法指针,他是定义然后执行的一段代码,但是他有一些特性:隐含变量,支持自由变量,支持currying 。我们先来看看一些例子:1defclos = {println"hello!"}23println"Executing the Closure:"4clos()//prints "hello!"在上面的例子中”hello!”是因为调用clos()函数才打印出来的,而不是在定义的时候打印出来的。参数闭包的参数在->之前列出,比如:1defprintSum = { a, b -> 阅读全文
groovy-脚本和类
2013-10-02 01:23 by Rollen Holt, 6735 阅读, 0 推荐, 收藏, 编辑
摘要:在groovy中定义类和java中是一样的。类的方法可以是static,也可以是非static的。groovy中的方法可以是public, protected, private,同时也支持java中的修饰符,比如synchronized。在groovy中导入包或者导入类,语法和java是一样的。只不过在groovy中默认已经导入了下面的package:1java.lang2java.io3java.math4java.net5java.util6groovy.lang7groovy.util在groovy和java中不同的一点就是,groovy默认是public的。每一个groovy类,在JV 阅读全文
groovy-语句
2013-10-02 01:22 by Rollen Holt, 6826 阅读, 0 推荐, 收藏, 编辑
摘要:groovy语句类似于java语句,但是在groovy中的分号”;”是可选的。比如:1defx = [1,2,3]2printlnx3defy =5;defx = y +74printlnx5assertx ==12而且对于一些方法参数等复杂的事情,我们可以横跨多行:1defx = [1,2,3,24,5,6]3println(4x5)6if(x !=null&&7x.size() >5) {8println("Works!")9}10else{11assertfalse:"should never happen ${x}"12}g 阅读全文
groovy-运算符
2013-10-02 01:21 by Rollen Holt, 2473 阅读, 0 推荐, 收藏, 编辑
摘要:算术和条件运算符Groovy支”!”操作符,例如:1defexpression = false2assert!expression基于集合的运算符:Spread Operator (*.)运算法:spread操作符用来调用集合中的每一个对象的行为,就相当于调用collect方法一样:1parent*.action//equivalent to:2parent.collect{ child -> child?.action }这个行为可能是一个方法调用或者属性访问,并返回一个列表。下面是一个例子:1assert['cat','elephant']*.size 阅读全文
groovy-位运算
2013-10-02 01:20 by Rollen Holt, 810 阅读, 0 推荐, 收藏, 编辑
摘要:从Groovy 1.0 beta 10开始,Groovy支持位运算:>, >>>, |, &, ^, and ~.下表列出了位运算的操作符和其含义:Operator SymbolMeaning>Bitwise Right Shift Operator>>>Bitwise Unsigned Right Shift Operator|Bitwise Or Operator&Bitwise And Operator^Bitwise Xor Operator~Bitwise Negation Operator>=Bitwise Ri 阅读全文
groovy–流程控制
2013-10-02 01:19 by Rollen Holt, 2456 阅读, 0 推荐, 收藏, 编辑
摘要:在本篇文章中,我们将介绍逻辑分支,循环,以及如何从if-else以及try-catch代码块中返回值。if – elseGroovy 支持Java传统的if-else语法:def x = false def y = falseif ( !x ) { x = true}assert x == trueif ( x ) { x = false} else { y = true}assert x == y Groovy 也支持Java传统的if-else if -else 语法:1if( ... ) {2...3}elseif(...) {4...5}else{6...7}三元操作符Groovy . 阅读全文
groovy–运算符重载
2013-10-02 01:18 by Rollen Holt, 2273 阅读, 0 推荐, 收藏, 编辑
摘要:Groovy支持运算符重载,各种运算符被映射到普通的java对象的方法调用,这就使得开发者可以利用运算符重载的优势来编写自己的Java或者groovy对象。下面的表格描述了groovy中的操作符所映射到的方法:OperatorMethoda + ba.plus(b)a – ba.minus(b)a * ba.multiply(b)a ** ba.power(b)a / ba.div(b)a % ba.mod(b)a | ba.or(b)a & ba.and(b)a ^ ba.xor(b)a++ or ++aa.next()a– or –aa.previous()a[b]a.getAt( 阅读全文
重新迁回博客园
2013-10-02 00:56 by Rollen Holt, 508 阅读, 1 推荐, 收藏, 编辑
摘要:之前一直在博客园写博客,后来“闲的蛋疼”就自己在Godaddy上面买了个域名,然后在华域迅通上面买了个空间,就搭建了一个wordpress博客,在上面使用了大致多半年吧。结果使用下来,发现自己维护这些还不如在博客园上面呢,而且也不需要升级什么wordpress,跟新插件,删除垃圾评论等等的。 好吧,说了那么多,上面的都是屁话,最主要原因是最近经济紧张,不想花钱买域名和空间,另外一方面也确实不想自己维护wordpress了,就迁移回来了。 不过最近会抽时间将以前的一些文件手动转过来。我试了一下博客园的博客搬家工具,但是会丢失原始文章的格式,而导致代码和文字挤在一块,没法看,所以我也就只... 阅读全文
Spring 3 MVC And JSR303 @Valid Example
2012-12-27 20:19 by Rollen Holt, 3785 阅读, 0 推荐, 收藏, 编辑
摘要:package com.xxx.training.controller;import com.xxx.training.model.User;import org.springframework.stereotype.Controller;import org.springframework.val... 阅读全文
Spring 表单处理
2012-12-27 19:27 by Rollen Holt, 3316 阅读, 0 推荐, 收藏, 编辑
摘要:1. SimpleFormController vs @ControllerIn XML-based Spring MVC web application, you create a form controller by extending theSimpleFormControllerclass.In annotation-based, you can use@Controllerinstead.SimpleFormControllerpublic class CustomerController extends SimpleFormController{ //...}Annota... 阅读全文
Spring MVC视图解析器:配置多个视图解析器的优先级
2012-12-27 17:08 by Rollen Holt, 26777 阅读, 4 推荐, 收藏, 编辑
摘要:问题在Spring MVC应用程序中,我们经常需要应用一些视图解析器策略来解析视图名称。例如,联合使用三个视图解析器:InternalResourceViewResolver、ResourceBundleViewResolver和XmlViewResolver。但是,如果返回了一个视图的名称,那么,... 阅读全文
Spring MVC视图解析器:Spring MVC ResourceBundleViewResolver示例
2012-12-27 17:00 by Rollen Holt, 7297 阅读, 1 推荐, 收藏, 编辑
摘要:在Spring MVC中,使用ResourceBundleViewResolver基于“.properties”文件中的视图bean来解析“视图名称”。默认地,ResourceBundleViewResolver将从位于项目class路径根目录下的文件views.properties中加载视图bea... 阅读全文
Spring MVC视图解析器:Spring MVC XmlViewResolver示例
2012-12-27 16:35 by Rollen Holt, 8656 阅读, 2 推荐, 收藏, 编辑
摘要:在Spring MVC中,使用XmlViewResolver基于XML文件中的视图bean来解析“视图名称”。默认地,XmlViewResolver将从/WEB-INF/views.xml中加载视图bean,不过,这个位置可以通过“location”属性覆盖:<beans ...> <bean class="org.springframework.web.servlet.view.XmlViewResolver"> <property name="location"> <value>/WEB-INF/spr 阅读全文
Spring中bean注入前后的一些操作:
2012-12-27 10:47 by Rollen Holt, 3463 阅读, 0 推荐, 收藏, 编辑
摘要:InitializingBean 和DisposableBeaninit-method 和destroy-method@PostConstruct 和@PreDestroyIn Spring,InitializingBeanandDisposableBeanare two marker interfaces, a useful way for Spring to perform certain actions upon bean initialization and destruction.For bean implemented InitializingBean, it will runaf 阅读全文
Spring的属性依赖检查
2012-12-27 10:40 by Rollen Holt, 2979 阅读, 0 推荐, 收藏, 编辑
摘要:Spring支持4种依赖检查:默认的是nonenone – No dependency checking.simple – If any properties of primitive type (int, long,double…) and collection types (map, list..) have not been set, UnsatisfiedDependencyException will be thrown.objects – If any properties of object type have not been set, UnsatisfiedDependenc 阅读全文
Spring中为bean注入Date对象
2012-12-27 10:13 by Rollen Holt, 4992 阅读, 0 推荐, 收藏, 编辑
摘要:比如我们有下面的一个bean:import java.util.Date; public class Customer { Date date; public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } @Override public String toString() { return "Customer [date=" + date + "]"; } } 注意我们上面的bean中有一个Date,但是如果我们使用下面的配置:& 阅读全文
Spring中bean配置的继承
2012-12-27 09:50 by Rollen Holt, 6217 阅读, 2 推荐, 收藏, 编辑
摘要:In Spring, the inheritance is supported in bean configuration for a bean to share common values, properties or configurations.A child bean or inherited bean can inherit its parent bean configurations, properties and some attributes. In additional, the child beans are allow to override the inherited 阅读全文
Spring中注入List,Set,Map,Properties
2012-12-27 09:44 by Rollen Holt, 54272 阅读, 1 推荐, 收藏, 编辑
摘要:下面的例子展示了如何注入List – <list/>Set – <set/>Map – <map/>Properties – <props/>Spring beansimport java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set; public class Customer { private List<Object> lists; private Set<Object> sets; private Ma 阅读全文