Apache Commons
1. 简介:
Apache Commons:是一套建立和维护可重用的Java组件。它包含了很多开源的工具,用于解决平时编程经常会遇到的问题,可以减少重复劳动,大大提高开发的效率和质量。其实就是我们平时经常会用到的工具类。
2. Apache Commons中的几个工具类:
(1) BeanUtils:针对Bean操作的一个工具集
这里只介绍copyProperties
假如有2个类的成员变量都一样,且个数都很多,此时我们要把其中一个类中的很多成员变量拷贝到另外一个类中时,可能会写很多代码,此时可以copyProperties它可以把一个对象的成员变量赋给另外一个类,这样是不很方便呢
例:
现有A,B类他们的有name和age 2个变量,要把B类中的age和name拷贝给A
public class Beanutils { public static void main(String[] args) { Beanutils bu = new Beanutils(); bu.copyProperties(); } public void copyProperties(){ A a = new A(); B b = new B(); b.setAge("20"); b.setName("jack"); try { BeanUtils.copyProperties(a, b); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } System.out.println(b); System.out.println(a); } }
(2) 加密与加密
base64 hex md5加密与解密
public class Codec {
public static void main(String[] args) {
Codec c = new Codec();
String str = "辅龙";
c.base64(str);
c.hex(str);
c.md5(str);
}
public void base64(String str) {
try {
str = Base64.encodeBase64String(str.getBytes("UTF-8"));
System.out.println("Base64 编码后:" + str);
str = new String(Base64.decodeBase64(str),"UTF-8");
System.out.println("Base64 解码后:" + str);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public void hex(String str) {
try {
str = Hex.encodeHexString(str.getBytes("UTF-8"));
System.out.println("Hex 编码后:"+str);
Hex hex = new Hex();
str = new String((byte[])hex.decode(str),"UTF-8") ;
System.out.println("Hex 解码后:"+str);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (DecoderException e) {
e.printStackTrace();
}
}
public void md5(String str){
str = DigestUtils.md5Hex(str.getBytes());
System.out.println("MD5编码后:" + str);
try {
str = new String(DigestUtils.md5Hex(str.getBytes("UTF-8")));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println("MD5编码后:" + str);
}
}
(3) HashedMap
以前迭代map的时候是不是觉得很麻烦呢?HashedMap可以用增强的for循环迭代了
public void testHashedMap() { IterableMap map = new HashedMap(); map.put("a", "1"); map.put("b", new Integer(2)); MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); System.out.println("key : " + key + ";value:" + value); } } /** * * 得到集合里按顺序存放的key之后的某一Key */ public void testLinkedMap() { OrderedMap map = new LinkedMap(); map.put("FIVE", "5"); map.put("SIX", "6"); map.put("SEVEN", "7"); System.out.println(map.firstKey()); // returns "FIVE" System.out.println(map.nextKey("FIVE")); // returns "SIX" System.out.println(map.nextKey("SEVEN")); // returns null System.out.println(map.previousKey("SEVEN")); // returns "SIX" System.out.println(map.lastKey()); }
(4) 读取property配置文件
public class Configuration { public static void main(String[] args) { Configuration c = new Configuration(); c.properties(); } public void properties() { try { PropertiesConfiguration pc = new PropertiesConfiguration( "E:\\projects\\commonstest\\commonstest\\src\\cn\\fulong\\configuration\\config.properties"); pc.getString("colors.background"); Integer integer = pc.getInt("window.width"); System.out.println(integer); pc.setProperty("colors.backgroundaaa", "#000012"); pc.save(); pc.save("usergui.backup.properties");// save a copy } catch (ConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
(5) 发邮件(可以添加附件)
public class EmailTest { //用commons email发送邮件 public static void main(String args[]) throws EmailException{ //Email email = new SimpleEmail(); HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.163.com");//设置SMTP服务器 email.setAuthenticator(new DefaultAuthenticator("javaemailtest", "fulong")); email.setFrom("javaemailtest@163.com"); email.setSubject("TestMail"); //email.setMsg("This is a test mail ... :-)"); email.setHtmlMsg("<b>msg中文</b>"); email.addTo("490791132@qq.com"); File file = new File("E:\\projects\\commonstest\\commonstest\\src\\cn\\fulong\\configuration\\config.properties"); email.attach(file); email.send(); } }
相关推荐
在Java Web开发中,文件上传是一项常见的功能,用于接收用户通过表单提交的文件数据。...这两个组件极大地简化了Java Web开发中的文件操作,提高了开发效率。在初学者的项目中,它们是不可或缺的工具。
Apache Commons Lang是Java编程语言中的一个实用工具库,它提供了许多增强和补充Java核心类库功能的方法。在本例中,我们关注的是`commons-lang...在实际项目中,根据需要选择引入相应的模块,可以有效地提高开发效率。
通过使用Apache Commons FileUpload,开发者可以专注于业务逻辑,而无需关心文件上传的底层实现细节,从而提高开发效率和代码质量。在实际应用中,还可以结合其他库,如Spring MVC,进一步简化文件上传的处理流程。
总的来说,"commons-pool-1.3.jar"和"commons-dbcp-1.2.2.jar"是Java开发中处理数据库连接池的关键组件,它们能够帮助开发者更有效地管理和复用数据库连接,提高应用的运行效率。同时,这两个库还可以解决特定情况下...
在项目中,可以根据需要选择合适的 Apache Commons 组件来引入,以减少重复造轮子的工作,提升开发效率。在理解和使用这些库时,需要了解它们提供的具体功能,熟悉 API 的用法,并注意版本兼容性,以确保项目稳定...
标题中的三个文件——"commons-collections-3.1.jar","commons-dbcp-1.2.1.jar",和"commons-pool-1.2.jar",是Apache Commons项目的一部分,它们在Java应用程序中扮演着重要角色。Apache Commons是一个为Java开发...
Apache Commons Collections是一个Java库,它提供了大量的集合框架增强功能,扩展了Java标准库中的集合类。...同时,了解和掌握如何正确使用这个库的各种工具和技巧,将有助于提升软件质量和开发效率。
- `commons-dbcp-1.2.1.jar` 是该库的1.2.1版本,它包含了数据库连接池的实现。这个版本较旧,可能不支持最新的数据库驱动或不包含某些性能优化和安全修复。 - DBCP提供了基本的连接池功能,包括连接验证、空闲...
`commons-digester-2.1.jar` 是Apache Commons项目中的一个组件,主要负责XML文档的解析和对象的创建与绑定。Apache Commons Digester库提供了一种规则驱动的方法来解析XML文档,并根据预定义的规则将XML数据映射到...
这些文件是Apache Commons项目中的三个重要组件:Commons Collections、Commons DBCP(数据库连接池)和Commons Pool。Apache Commons是Java编程语言中一个非常重要的库集合,提供了大量实用工具类和算法,帮助...
《Apache Commons FileUpload详解》 在Java开发中,处理...理解并熟练运用这个组件,可以有效地提升开发效率,同时保证上传功能的安全和稳定。在实际应用中,开发者应结合项目需求,灵活调整配置,以达到最佳效果。
此外,BeanUtils还支持类型转换、复制属性到另一个对象等操作,极大地提高了开发效率。 2. **Apache Commons DBCP 1.4**: Apache Commons DBCP(Database Connection Pool)是Apache提供的一个数据库连接池组件。...
Apache Commons FileUpload与Apache Commons IO是Java开发中两个非常重要的库,它们主要用于处理文件上传和I/O操作。...这两个库的使用,不仅能够提高开发效率,还能确保程序在处理文件时的稳定性和安全性。
总结来说,Apache Commons Daemon是一个强大的工具,它通过提供跨平台的原生库,使得Java开发者可以轻松地将应用程序转换为系统服务,提高系统的管理和维护效率。`commons-daemon-native.tar.gz` 文件则包含了实现这...
Apache Commons DBCP(Database Connection Pool)是一个基于Apache Commons Pool的数据库连接池组件。数据库连接池在应用服务器中扮演着关键角色,它允许应用程序重复使用已建立的数据库连接,而不是每次请求时都...
Apache Commons FileUpload是一个Java库,专门用于处理HTTP协议中的文件上传功能。这个1.3.3版本是一个稳定且广泛使用的版本,提供了强大的...这两个库都是Java生态系统的重要组成部分,大大提高了开发效率和代码质量。
Commons IO 是 Apache Software Foundation 开发的一个 Java 库,它的核心组件是 `commons-io-2.6.jar`。这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将...
Apache Commons DBCP 1.4 和 Commons Pool 1.5.6 是两个在Java开发中广泛使用的开源库,主要用于数据库连接池管理。这两个jar包是处理数据库连接管理和资源优化的关键组件,尤其在大型Web应用和服务中,它们扮演着至...
综上,Apache Commons Codec库从1.11到1.13的演进,不仅体现了软件工程中持续改进的原则,也反映了开发者对于提高编码解码效率和代码质量的不懈追求。无论是在小型项目还是大型企业级应用中,该库都是一个值得信赖的...
标题和描述中提到的"commons-beanutils-1.8.3.jar", "commons-codec-1.7.jar", "commons-collections-3.2.1.jar"是Apache Commons项目中的三个不同组件的JAR文件,这些文件在Java开发中被广泛使用。Apache Commons是...