zoukankan      html  css  js  c++  java
  • 快速构建一个权限项目(五)

    今天我们首先讲的是Json转化工具-JsonMapper开发:

    在这里我们首先在pom文件引入jackson的两个依赖,分别是:

    <!-- jackson -->
        <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-core-asl</artifactId>
          <version>1.9.13</version>
        </dependency>
        <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>1.9.13</version>
        </dependency>

    然后在util包编写JsonMapper类:

    package cn.oyc.util;
    
    import org.codehaus.jackson.map.DeserializationConfig;
    import org.codehaus.jackson.map.ObjectMapper;
    import org.codehaus.jackson.map.SerializationConfig;
    import org.codehaus.jackson.map.annotate.JsonSerialize;
    import org.codehaus.jackson.map.ser.impl.SimpleFilterProvider;
    import org.codehaus.jackson.type.TypeReference;
    
    public class JsonMapper {
        private static ObjectMapper objectMapper = new ObjectMapper();
    
        static{
            //config
            objectMapper.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
            objectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS,false);
            objectMapper.setFilters(new SimpleFilterProvider().setFailOnUnknownId(false));
            objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_EMPTY);
        }
        public static <T> String obj2String(T src){
            if (src==null){
                return null;
            }
            try {
                return src instanceof String ? (String) src : objectMapper.writeValueAsString(src);
            }catch (Exception e){
                e.printStackTrace();
                return null;
            }
        }
        public static <T> T string2Obj(String src, TypeReference<T> typeReference) {
            if (src == null || typeReference == null) {
                return null;
            }
            try {
                return (T) (typeReference.getType().equals(String.class) ? src : objectMapper.readValue(src, typeReference));
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    }

    然后在学习我们的获取Spring上下文工具-ApplicationContextHelper开发

    在common创建一个获取上下文的类applicationContextGelper:

    package cn.oyc.common;
    
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    import org.springframework.stereotype.Component;
    
    @Component("applicationContextHelper")
    public class ApplicationContextHelper implements ApplicationContextAware {
        private static ApplicationContext applicationContext;
    
        @Override
        public void setApplicationContext(ApplicationContext context) throws BeansException {
            applicationContext = context;
        }
        public static <T> T popBean(Class<T> clazz){
            if (applicationContext == null){
                return null;
            }
            return applicationContext.getBean(clazz);
        }
    
        public static <T> T popBean(String name,Class<T> clazz){
            if (applicationContext == null){
                return null;
            }
            return applicationContext.getBean(name,clazz);
        }
    }

    然后别忘记在spring-servle.xml配置一下,内容为:

    <bean class="cn.oyc.common.ApplicationContextHelper" lazy-init="false" />

    今天我们就教到这里,请关注下集!

  • 相关阅读:
    C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
    C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
    C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
    C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
    C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
    ASP.NET Core之跨平台的实时性能监控(2.健康检查)
    Android Studio 快捷键:重载与重写、try catch代码块、导包 快捷键
    新版本jQuery对动态添加元素绑定点击事件实例
    ssm框架中,mybatis的sql语句日志输出
    maven环境下的ssm框架上传excel 案例
  • 原文地址:https://www.cnblogs.com/Myoyc/p/12233618.html
Copyright © 2011-2022 走看看