本章没有具体的内容需要讲述,只是把几个现成的工具类放在这里这里,后面教程的代码会用到他们。
26.1 应用程序运行状态的枚举类
package com.longser.utils.enums;import org.springframework.lang.NonNull;/*** @author David*/public enum ApplicationState{//开发DEVELOPMENT("dev"),//测试TESTING("test"),//生产系统PRODUCTION("prod"),;private final String code;ApplicationState(String code) {this.code = code;}public String toString() {return this.code;}public boolean is(@NonNull String state) {return state.equalsIgnoreCase(toString());}}
26.2 仿 Gson 方法风格的工具类
package com.longser.utils;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;/*** 方便书写 Jackson 代码的 仿 Google Json 类* @author david*/public class Json {private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();/*** 仿 Google Json 的方法,把对象转换成 Jsong 字符串* @param src 待转换的对象* @return 转换好的字符串。如果源对象为空,转换结果为空字符串 ""。如果发生异常则返回 null。*/public static String toJSon(Object src) {if(src == null) {return "";}try {return OBJECT_MAPPER.writeValueAsString(src);} catch (JsonProcessingException ex) {ex.printStackTrace();}return null;}}
26.3 管理 Spring 上下文的工具类
package com.longser.utils;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import org.springframework.context.ApplicationContext;/*** Spring 上下文管理工具类,在事先保存的应用程序上下文(ApplicationContext)中* 查找 Bean* @author David Jia*/public class SpringContextUtil {private static ApplicationContext applicationContext;/*** 返回事先保存的 ApplicationContext* @return 事先保存的 ApplicationContext*/public static ApplicationContext getApplicationContext() {return applicationContext;}/*** 保存 事先保存的 ApplicationContext。一般在 SpringBootApplication 的 Main 方法中* 被调用,通常用法如下:* <code>* public static void main(String[] args) {* ApplicationContext appCtx = SpringApplication.run(MyApplication.class, args);* SpringContextUtil.setApplicationContext(appCtx);* }* </code>* @param applicationContext 指定的应用程序igxbwr*/public static void setApplicationContext(ApplicationContext applicationContext) {SpringContextUtil.applicationContext = applicationContext;}/*** 通过名字获取上下文中的bean* @param name 需要查找的 Bean 的名字* @return 需要嗯 Bean*/public static Object getBean(String name) {try {return applicationContext.getBean(name);} catch (NoSuchBeanDefinitionException ex) {return null;}}/*** 通过类型获取上下文中的bean* @param requiredType 需要获取的Bean的类型* @return 需要嗯 Bean*/public static Object getBean(Class<?> requiredType) {return applicationContext.getBean(requiredType);}}
26.4 保存文件的工具类
package com.longser.utils.file;import java.io.IOException;import java.io.RandomAccessFile;@SuppressWarnings("unused")public class FileUtil {public static void writeFile(String filePath, byte[] data) throws IOException {RandomAccessFile raf = null;try {raf = new RandomAccessFile(filePath, "rw");raf.write(data);} finally {if (raf != null) {raf.close();}}}public static byte[] readFile(String filePath) throws IOException {byte[] data;try (RandomAccessFile raf = new RandomAccessFile(filePath, "r")) {data = new byte[(int) raf.length()];raf.read(data);return data;}}}
版权说明:本文由北京朗思云网科技股份有限公司原创,向互联网开放全部内容但保留所有权力。
