J2EE开发框架搭建(5) - Java项目开发常用工具类

本文介绍了Java开发中常用的工具类,包括中文转拼音工具、类型转换工具、加密工具、流关闭工具等,并详细展示了CloseUtil类的方法实现。此外,还介绍了Utils类中的常见判断方法及SpringUtils类的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工具类下项目中的目录位置:

1. 中文转化成拼音、首字母 ,ChineseCharToPinYin,使用这个类的时候必须要加入pinyin.jar,pinyin.jar已经放到hqhop-framework-web项目的lib目录中;

使用方式:

ChineseCharToPinYin只提供了两个方法:

public static String getPinYin(String src) {.....} 将汉字转换为全拼

public static String getPinYinHeadChar(String str){.......} 提取每个汉字的首字母

2.类型转换辅助工具类TypeCaseHelper ,提供了常用类型之间的相互转化

3. 在Java包security下面的类都是常用的加密的工具类

4. CloseUtil主要是用来关闭一些连接的工具类:

 

public class CloseUtil {
	private static final Log log = LogFactory.getLog(CloseUtil.class);
	/**
	 * 关闭给定的输入流. <BR>
	 * 
	 * @param inStream
	 */
	public static void close(InputStream inStream) {
		if (inStream != null) {
			try {
				inStream.close();
			} catch (IOException e) {
				log.error("error on close the inputstream.", e);
			}
		}
	}
	/**
	 * 关闭给定的输出流. <BR>
	 * 
	 * @param outStream
	 */
	public static void close(OutputStream outStream) {
		if (outStream != null) {
			try {
				outStream.close();
			} catch (IOException e) {
				log.error("error on close the outputstream.", e);
			}
		}
	}

	/**
	 * 关闭给定的输出流. <BR>
	 * 
	 * @param writer
	 */
	public static void close(Writer writer) {
		if (writer != null) {
			try {
				writer.close();
			} catch (IOException e) {
				log.error("error on close the outputstream.", e);
			}
		}
	}
	/**
	 * 关闭给定的Socket.
	 * 
	 * @param socket
	 *            给定的Socket
	 */
	public static void close(Socket socket) {
		if (socket != null) {
			try {
				socket.close();
			} catch (IOException e) {
				log.error("fail on close socket: " + socket, e);
			}
		}
	}
	public static void close(Reader reader) {
		if (reader != null) {
			try {
				reader.close();
			} catch (IOException e) {
				log.error("error on close the Reader.", e);
			}
		}
	}
	public static void close(Connection conn) {
		if (conn != null) {
			try {
				conn.close();
			} catch (Exception e) {
				log.error("error on close java.sql.Connection.", e);
			}
		}
	}
	public static void close(PreparedStatement ps) {
		if (ps != null) {
			try {
				ps.close();
			} catch (Exception e) {
				log.error("error on close java.sql.PreparedStatement.", e);
			}
		}
	}
	public static void close(ResultSet rs) {
		if (rs != null) {
			try {
				rs.close();
			} catch (Exception e) {
				log.error("error on close java.sql.ResultSet.", e);
			}
		}
	}
	public static void close(Statement st) {
		if (st != null) {
			try {
				st.close();
			} catch (SQLException e) {
				log.error("error on close java.sql.Statement.", e);
			}
		}
	}
}

5. Utils类里面包含了更多的判断方法,常用的:

1)判断对象是否为空isEmpty(),isNotEmpty()

2) 根据ip地址回去客户端地址;获取用户ip地址

3) 钱转化为大写方式展示

4) 身份证验证

......

6. SpringUtils类主要是从spring容器中回去对象和获取Resource

 

public final class SpringUtils<span style="color:#ff0000;"> implements BeanFactoryPostProcessor, ResourceLoaderAware </span>{

	private static ConfigurableListableBeanFactory beanFactory; // Spring应用上下文环境
	private static ResourceLoader resourceLoader;

	<span style="color:#ff0000;">@Override
	public void setResourceLoader(ResourceLoader resourceLoader) {
		SpringUtils.resourceLoader = resourceLoader;
	}

	@Override
	public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
		SpringUtils.beanFactory = beanFactory;
	}</span>

	/**
<span style="color:#ff0000;">	 * 1. classpath: classpath:com/myapp/config.xml , 加载classpath下的资源
	 * 2. file: file:/data/config.xml Loaded as a URL, 加载文件系统下的资源
	 * 3. http: http://myserver/logo.png Loaded as a URL. 加载url下面的资源
	 * 4. (none) /data/config.xml , 根据当前的applicationContext的类型来加载资源</span>
	 * 
	 * @param location
	 * @return
	 */
	public static Resource getResource(String location) {
		return resourceLoader.getResource(location);
	}

	/**
	 * 获取对象
	 * 
	 * @param name
	 * @return Object 一个以所给名字注册的bean的实例
	 * @throws org.springframework.beans.BeansException
	 * 
	 */
	@SuppressWarnings("unchecked")
	public static <T> T getBean(String name) throws BeansException {
		return (T) beanFactory.getBean(name);
	}

	//省略后面方法......
	

SpringUtils实现了BeanFactoryPostProcessor 和 ResourceLoaderAware ,就可以获取到beanFactory和resourceLoader对象,从而可以获取spring容器中的对象,资源

 

 

 

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值