`
砺雪凝霜
  • 浏览: 156668 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

提高开发效率的组件 -- Apache Commons

阅读更多

                                          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(); 
} 
} 
 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    commons-fileupload组件和commons-io组件

    在Java Web开发中,文件上传是一项常见的功能,用于接收用户通过表单提交的文件数据。...这两个组件极大地简化了Java Web开发中的文件操作,提高了开发效率。在初学者的项目中,它们是不可或缺的工具。

    commons-lang3-3.12.0 jar包

    Apache Commons Lang是Java编程语言中的一个实用工具库,它提供了许多增强和补充Java核心类库功能的方法。在本例中,我们关注的是`commons-lang...在实际项目中,根据需要选择引入相应的模块,可以有效地提高开发效率。

    文件上传组件-Apache-Commons-FileUpload-应用指南.pdf

    通过使用Apache Commons FileUpload,开发者可以专注于业务逻辑,而无需关心文件上传的底层实现细节,从而提高开发效率和代码质量。在实际应用中,还可以结合其他库,如Spring MVC,进一步简化文件上传的处理流程。

    commons-pool-1.3.jar 和commons-dbcp-1.2.2.jar

    总的来说,"commons-pool-1.3.jar"和"commons-dbcp-1.2.2.jar"是Java开发中处理数据库连接池的关键组件,它们能够帮助开发者更有效地管理和复用数据库连接,提高应用的运行效率。同时,这两个库还可以解决特定情况下...

    apache-common最全的jar包

    在项目中,可以根据需要选择合适的 Apache Commons 组件来引入,以减少重复造轮子的工作,提升开发效率。在理解和使用这些库时,需要了解它们提供的具体功能,熟悉 API 的用法,并注意版本兼容性,以确保项目稳定...

    commons-collections-3.1.jar;commons-dbcp-1.2.1.jar;commons-pool-1.2.jar

    标题中的三个文件——"commons-collections-3.1.jar","commons-dbcp-1.2.1.jar",和"commons-pool-1.2.jar",是Apache Commons项目的一部分,它们在Java应用程序中扮演着重要角色。Apache Commons是一个为Java开发...

    commons-collections4-4.1

    Apache Commons Collections是一个Java库,它提供了大量的集合框架增强功能,扩展了Java标准库中的集合类。...同时,了解和掌握如何正确使用这个库的各种工具和技巧,将有助于提升软件质量和开发效率。

    commons-dbcp-1.2.1.jar commons-pool-1.3.jar struts-legacy.jar

    - `commons-dbcp-1.2.1.jar` 是该库的1.2.1版本,它包含了数据库连接池的实现。这个版本较旧,可能不支持最新的数据库驱动或不包含某些性能优化和安全修复。 - DBCP提供了基本的连接池功能,包括连接验证、空闲...

    commons-digester-2.1.jar

    `commons-digester-2.1.jar` 是Apache Commons项目中的一个组件,主要负责XML文档的解析和对象的创建与绑定。Apache Commons Digester库提供了一种规则驱动的方法来解析XML文档,并根据预定义的规则将XML数据映射到...

    commons-collections-3.2.jar+commons-dbcp-1.2.1.jar+commons-pool-1.3.jar

    这些文件是Apache Commons项目中的三个重要组件:Commons Collections、Commons DBCP(数据库连接池)和Commons Pool。Apache Commons是Java编程语言中一个非常重要的库集合,提供了大量实用工具类和算法,帮助...

    commons-fileupload-1.4 jar包.rar

    《Apache Commons FileUpload详解》 在Java开发中,处理...理解并熟练运用这个组件,可以有效地提升开发效率,同时保证上传功能的安全和稳定。在实际应用中,开发者应结合项目需求,灵活调整配置,以达到最佳效果。

    四个jar包commons-beanutils-1.8.3+dbcp+dbutils-1.4+commons-fileupload-1.2.2

    此外,BeanUtils还支持类型转换、复制属性到另一个对象等操作,极大地提高了开发效率。 2. **Apache Commons DBCP 1.4**: Apache Commons DBCP(Database Connection Pool)是Apache提供的一个数据库连接池组件。...

    commons-fileupload和commons-io的jar包

    Apache Commons FileUpload与Apache Commons IO是Java开发中两个非常重要的库,它们主要用于处理文件上传和I/O操作。...这两个库的使用,不仅能够提高开发效率,还能确保程序在处理文件时的稳定性和安全性。

    commons-daemon-native.tar.gz

    总结来说,Apache Commons Daemon是一个强大的工具,它通过提供跨平台的原生库,使得Java开发者可以轻松地将应用程序转换为系统服务,提高系统的管理和维护效率。`commons-daemon-native.tar.gz` 文件则包含了实现这...

    commons-dbcp-1.4和commons-pool-1.6驱动包下载(亲测可用)

    Apache Commons DBCP(Database Connection Pool)是一个基于Apache Commons Pool的数据库连接池组件。数据库连接池在应用服务器中扮演着关键角色,它允许应用程序重复使用已建立的数据库连接,而不是每次请求时都...

    commons-fileupload-1.3.3-bin

    Apache Commons FileUpload是一个Java库,专门用于处理HTTP协议中的文件上传功能。这个1.3.3版本是一个稳定且广泛使用的版本,提供了强大的...这两个库都是Java生态系统的重要组成部分,大大提高了开发效率和代码质量。

    commons-io-2.6.jar下载

    Commons IO 是 Apache Software Foundation 开发的一个 Java 库,它的核心组件是 `commons-io-2.6.jar`。这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将...

    commons-dbcp-1.4、commons-pool-1.5.6 jar包

    Apache Commons DBCP 1.4 和 Commons Pool 1.5.6 是两个在Java开发中广泛使用的开源库,主要用于数据库连接池管理。这两个jar包是处理数据库连接管理和资源优化的关键组件,尤其在大型Web应用和服务中,它们扮演着至...

    commons-codec1.11到1.13

    综上,Apache Commons Codec库从1.11到1.13的演进,不仅体现了软件工程中持续改进的原则,也反映了开发者对于提高编码解码效率和代码质量的不懈追求。无论是在小型项目还是大型企业级应用中,该库都是一个值得信赖的...

    commons-beanutils-1.8.3.jar commons-codec-1.7.jar commons-collections-3.2.1.jar

    标题和描述中提到的"commons-beanutils-1.8.3.jar", "commons-codec-1.7.jar", "commons-collections-3.2.1.jar"是Apache Commons项目中的三个不同组件的JAR文件,这些文件在Java开发中被广泛使用。Apache Commons是...

Global site tag (gtag.js) - Google Analytics