项目中用到的设计模式

一、单例模式

/**
 * @author 
 * @version $1.0, 2011-1-30
 * @since JDK6
 */
public class JackSonUtils
{

    /**以 singleton的形式取出ObjectMapper.
     * 供后面的程序重用。 
     * @return
     */
    public static ObjectMapper getObjectMapper ( )
    {
        return Holer.mapper;
    }

    private static class Holer
    {
        private static ObjectMapper mapper  = getInstance ( );

        private static ObjectMapper getInstance ( )
        {
            ObjectMapper mapper = new ObjectMapper ( );
            //初始化ObjectMapper......
            mapper.setDateFormat ( new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" ) );
            mapper.configure (  JsonParser.Feature.ALLOW_SINGLE_QUOTES ,
                                true );
            //设置是否格式化
            mapper.configure (  SerializationFeature.INDENT_OUTPUT ,
                                true );
            mapper.configure (  SerializationFeature.WRAP_ROOT_VALUE ,
                                false );
            //数字加双引号
            mapper.configure (  JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS,
                                true );
            mapper.getSerializerProvider ( ).setNullValueSerializer ( new JsonSerializer<Object>(){
                @Override
                public void serialize ( Object arg0 ,
                                        JsonGenerator jgen ,
                                        SerializerProvider arg2 ) throws IOException , JsonProcessingException
                {
                    jgen.writeString ( "" );
                }
            } );
            mapper.setVisibility (  PropertyAccessor.FIELD ,
                                    JsonAutoDetect.Visibility.ANY ) // auto-detect all member fields  
                    .setVisibility (    PropertyAccessor.GETTER ,
                                        JsonAutoDetect.Visibility.NONE )
                    // but only public getters  
                    .setVisibility (    PropertyAccessor.IS_GETTER ,
                                        JsonAutoDetect.Visibility.NONE ); // and none of "is-setters"  
            return mapper;
        }
    }
}

二、观察者模式

Spring 的事件监听机制

三、适配器模式、桥梁模式

JDBC

持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值