java
Spring AOP 在工作中的使用,MultiCustomer不同需求管理
使用请注明出处:http://alex2012-c.j.overblog.com/ 很多项目使用了Spring,其中AOP(面向切面编程)是很重要的思想。 AOP用处很多,比如事务管理,日志管理等。AOP的使用是为了以更加灵活的方式来解决问题。 工作开发内容是实现多机场管理,不同机场有不同的需求,我们对客户所需要的功能进行了一些parameter的定义,对于哪个机场激活哪些parameter? 此时引进了AOP功能,设计了Feature函数,用Feature来实现对不同机场不同需求的控制。 例如,在系统中定义了function1,function2,function3作为parameter。实际应用中,慕尼黑机场使用到了1和3,尼斯机场使用到了2和3,哥本哈根机场使用了2。...
Iterator 遍历问题
实例CODE : 结果如下 : Original contents of al: FlightA FlightB FlightC FlightD Modified contents of al: FlightA+ FlightB+ FlightC+ FlightD+ Modified list backwards: FlightD+ FlightC+ FlightB+ FlightA+
Hibernate 中拷贝Object数据的问题
有以下数据表格 Flight Table : FlightID FlightNumber Timing Table : TimingID FlightID TimingName TimingValue 由以上结构看出来,flightID是flight表格的key,timingID是timing表格的key,flightID是timing表格的foreign key。 有object:FlightA(12,FR123) FlightB(13,FR456) TimingA(90,12,LandingTime,12:00)...
Jackson serialization unexpected field
Jackson 在转换JSON的时候,有时候会有unrecognized field,原因是因为在Object Class 中加入了一个method来判断这个Object是否空。 在serialization的时候, Jackson发现一个新的attribute “NOTEMPTY” public boolean isNotEmpty() { return NullCheckUtil.isValueNotEmpty(unit) || NullCheckUtil.isValueNotEmpty(qualifier)...
处理文件字符串中的mapping
假定有一个文件,每一行对应着两个String,每当遇到逗号前的String,我希望得到逗号后面的String。类似于一个翻译dictionary。此时可以建立一个dictionary mapping。code如下
equals hashcode 注意事项
在java中比较两个instance,有两个函数非常重要equals和hashcode,这里也会出现很多问题。工作中就有很多bug是来自于这两个函数。 总结了一下注意事项。 重写equals函数的时候 在覆盖equals方法的时候,你必须要遵守它的通用约定。下面是约定: 自反性。对于任何非null的引用值x,x.equals(x)必须返回true。 对称性。对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true 传递性。对于任何非null的引用值x、y和z,如果x.equals(y)返回true,并且y.equals(z)也返回true,那么x.equals(z)也必须返回true。...
Java中遍历list删除特定元素
在项目开发中,我们可能往往需要动态的删除ArrayList中的一些元素。 最容易,最简单也是错误的方法是: for(int i = 0 , len= list.size();i
DTO/Domain converter
在大型Web Service的项目中,从客户端接收到的信息格式和app内部处理信息的格式是不同的,此时需要有一层converter来转换。 但是长期的项目,使得converter很难维护,有些重复,也有些是无用的,造成了一些bug。 网上查找,有两种解决方案比较合适,有待继续研究: http://stackoverflow.com/questions/1432764/any-tool-for-java-object-to-object-mapping 通过比较更有利于项目的可能是: Dozer和ModelMapper...
HQL-hibernate 管理
使用请注明出处:http://alex2012-c.j.overblog.com/ 使用hibernate用java对数据库进行操作,通常在一个DAO中会有很多很多HQL的查询语句,长期下去语句越来越多,不断的修改,导致有些语句已经不用了,但是还是依然在代码中。对代码的维护造成了很大的麻烦。 在这里提出一个建议,可以把每一个语句建为一个class,这样非常有利于维护。建议文档,以airport IT application为例: Context When you are working with...
amadeus 工作模式
在amadeus工作了一年多了,很喜欢这里的工作环境,我们组是分为两个部分的,九个人在法国,其中一个实习生,七个人在印度。所以经常需要电话或者视频会议,或者单独的电话,chat讨论东西。 每天都在学习着新的知识。每天都有着不同的挑战。 我们所使用的开发语言是java。 技术关键字: Hibernate,Spring,Maven,Oracle,Drool,Jekins.... Amadeus是很成熟的软件开发公司,对很多流程都有着很成熟的步骤。比如Win@proach来追踪bug处理进度,可能是测试团队发来bug,也可能是客户直接发来。比如Jekins来负责日常构建,跑测试,部署等。比如Git/Stash来进行版本开发。比如ErrorViewer来观测不同平台的错误信息。比如Sentinel来检测报警信息等。...