Maison > Java > javaDidacticiel > le corps du texte

Bibliothèque de classes Java - Supplément Apache Commons

黄舟
Libérer: 2017-01-19 13:10:16
original
1063 Les gens l'ont consulté

Apache Commons contient de nombreux outils open source utilisés pour résoudre les problèmes couramment rencontrés dans la programmation quotidienne et réduire la duplication du travail. J'ai sélectionné quelques projets couramment utilisés pour une brève introduction. L'article utilise beaucoup de choses toutes faites sur Internet, je viens de faire un résumé.

1. Commons BeanUtils
http://jakarta.apache.org/commons/beanutils/index.html
Description : Un ensemble d'outils pour Bean. Étant donné que les Beans sont souvent composés d'un ensemble de get et de set, BeanUtils effectue également certains packaging sur cette base.

Exemples d'utilisation : Il existe de nombreuses fonctions, qui sont décrites en détail sur le site Web. L'une des fonctions les plus couramment utilisées est Bean Copy, qui consiste à copier les propriétés d'un bean. Il sera utilisé si vous développez une architecture en couches, comme la copie de données de PO (objet persistant) vers VO (objet de valeur).

La méthode traditionnelle est la suivante :

//得到TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//构造Teacher对象
Teacher teacher=new Teacher();
//赋值
teacher.setName(teacherForm.getName());
teacher.setAge(teacherForm.getAge());
teacher.setGender(teacherForm.getGender());
teacher.setMajor(teacherForm.getMajor());
teacher.setDepartment(teacherForm.getDepartment());
//持久化Teacher对象到数据库
HibernateDAO= ;
HibernateDAO.save(teacher);
Copier après la connexion

Après avoir utilisé BeanUtils, le code a été grandement amélioré, comme indiqué ci-dessous :

//得到TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//构造Teacher对象
Teacher teacher=new Teacher();
//赋值
BeanUtils.copyProperties(teacher,teacherForm);
//持久化Teacher对象到数据库
HibernateDAO= ;
HibernateDAO.save(teacher);
Copier après la connexion

2. Commons CLI
http://jakarta.apache.org/commons/cli/index.html
Description : Il s'agit d'un outil de traitement des commandes. Par exemple, la chaîne[] entrée par la méthode principale doit être analysée. Vous pouvez prédéfinir les règles de paramètres, puis appeler la CLI pour les analyser.

Exemple d'utilisation :

// create Options object
Options options = new Options();
// add t option, option is the command parameter, false indicates that
// this parameter is not required.
options.addOption(“t”, false, “display current time”);
options.addOption("c", true, "country code");
CommandLineParser parser = new PosixParser();
CommandLine cmd = parser.parse( options, args);
if(cmd.hasOption("t")) {
// print the date and time
}else {
// print the date
}
// get c option value
String countryCode = cmd.getOptionValue("c");
if(countryCode == null) {
// print default date
}else {
// print date for country specified by countryCode
}
Copier après la connexion

3. Commons Codec
http://jakarta.apache.org/commons/codec/index.html <🎜. >Description : Cet outil est utilisé pour encoder et décoder, notamment Base64, URL, Soundx, etc. Les personnes qui utilisent cet outil devraient très bien les connaître, je ne les présenterai donc pas en détail.

4. Commons Collections
http://jakarta.apache.org/commons/collections/
Remarque : vous pouvez considérer cet outil comme une extension de java.util.

Exemple d'utilisation : donnez un exemple simple


OrderedMap map = new LinkedMap();
map.put("FIVE", "5");
map.put("SIX", "6");
map.put("SEVEN", "7");
map.firstKey(); // returns "FIVE"
map.nextKey("FIVE"); // returns "SIX"
map.nextKey("SIX"); // returns "SEVEN"
Copier après la connexion
5 Configuration Commons

http://jakarta.apache.org/commons/configuration/ <. 🎜>Description : Cet outil est utilisé pour aider à traiter les fichiers de configuration et prend en charge de nombreuses méthodes de stockage

1. Fichiers de propriétés

2. Documents XML

3. .plist)

4. JNDI

5 Source de données JDBC

6. Propriétés du système

7. Paramètres de l'applet

8. Paramètres de servlet

Exemple d'utilisation : donnez un exemple simple de propriétés



http://jakarta.apache.org/commons/dbcp/
# usergui.properties, definining the GUI,
colors.background = #FFFFFF
colors.foreground = #000080
window.width = 500
window.height = 300
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setProperty("colors.background", "#000000);
config.save();
config.save("usergui.backup.properties);//save a copy
Integer integer = config.getInteger("window.width");
Commons DBCP
Copier après la connexion
Instructions : Pool de connexion à la base de données, c'est ce qu'utilise Tomcat. Je n'ai pas besoin d'en dire plus. Si vous souhaitez l'utiliser, rendez-vous sur le site pour lire les instructions.


6. Commons DbUtils
http://jakarta.apache.org/commons/dbutils/
Remarque : lorsque j'écrivais des programmes de base de données, je créais souvent un package séparé pour les opérations de base de données. DbUtils est un tel outil, vous n'avez donc pas besoin de répéter ce type de travail lors de développements futurs. Il convient de mentionner que cet outil n'est pas l'outil OR-Mapping populaire (tel que Hibernate), mais simplifie uniquement les opérations de base de données, telles que



7. Commons FileUpload
QueryRunner run = new QueryRunner(dataSource);
// Execute the query and get the results back from the handler
Object[] result = (Object[]) run.query("SELECT * FROM Person WHERE name=?", "John Doe");
Copier après la connexion
http ://jakarta.apache.org/commons/fileupload/

Explication : Comment utiliser la fonction de téléchargement de fichiers jsp ?

Exemple d'utilisation :



8. Commons HttpClient
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
processFormField(item);
} else {
processUploadedFile(item);
}
}
Copier après la connexion
http://jakarta.apache.org/commons/httpclient/

Instructions : Cet outil facilite l'accès aux sites Web par programmation.

Exemple d'utilisation : l'opération Get la plus simple



9. Commons IO
GetMethod get = new GetMethod("http://jakarta.apache.org");
// execute method and handle any error responses.
...
InputStream in = get.getResponseBodyAsStream();
// Process the data from the input stream.
get.releaseConnection();
Copier après la connexion
http://jakarta.apache.org/commons/io/

Remarque : il peut être considéré comme une extension de java.io, je pense qu'il est très pratique à utiliser.

Exemple d'utilisation :

1. Lire le code standard de Stream

 :



Utiliser IOUtils
InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
try {
InputStreamReader inR = new InputStreamReader( in );
BufferedReader buf = new BufferedReader( inR );
String line;
while ( ( line = buf.readLine() ) != null ) {
System.out.println( line );
}
} finally {
in.close();
}
Copier après la connexion



2. Lire le fichier
InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
try {
System.out.println( IOUtils.toString( in ) );
} finally {
IOUtils.closeQuietly(in);
}
Copier après la connexion



3. Vérifiez l'espace restant
File file = new File("/commons/io/project.properties");
List lines = FileUtils.readLines(file, "UTF-8");
Copier après la connexion



10. Commons JXPath
long freeSpace = FileSystemUtils.freeSpace("C:/");
Copier après la connexion
http://jakarta.apache.org/commons/jxpath/

Explication : Vous connaissez Xpath, alors JXpath est Xpath basé sur des objets Java, c'est-à-dire utilisant Xpath pour interroger des objets Java. Cette chose est encore très imaginative.

Exemple d'utilisation :



11. Commons Lang
Address address = (Address)JXPathContext.newContext(vendor).
getValue("locations[address/zipCode=&#39;90210&#39;]/address");
上述代码等同于
Address address = null;
Collection locations = vendor.getLocations();
Iterator it = locations.iterator();
while (it.hasNext()){
Location location = (Location)it.next();
String zipCode = location.getAddress().getZipCode();
if (zipCode.equals("90210")){
address = location.getAddress();
break;
}
}
Copier après la connexion
http://jakarta.apache.org/commons/lang/

Instructions : Cette boîte à outils peut être considérée comme une extension de java.lang. Fournit des classes d'outils telles que StringUtils, StringEscapeUtils, RandomStringUtils, Tokenizer, WordUtils, etc.

12. Commons Logging
http://jakarta.apache.org/commons/logging/
Explication : Connaissez-vous Log4j ?

13. Commons Math
http://jakarta.apache.org/commons/math/
Explication : Vous devriez savoir à quoi sert ce package en regardant le nom. Les fonctions fournies par ce package sont quelque peu dupliquées par Commons Lang, mais ce package est davantage axé sur la création d'outils mathématiques et possède des fonctions plus puissantes.

14. Commons Net
http://jakarta.apache.org/commons/net/
Remarque : ce package est toujours très pratique et encapsule de nombreux protocoles réseau.

1. FTP

2. NNTP

3.SMTP

4. >6. TFTP

7. Doigt

8. Whois

9. rexec/rcmd/rlogin

10. 🎜>
11. Écho

12. Rejeter

13. NTP/SNTP

Exemple d'utilisation :


TelnetClient telnet = new TelnetClient();
telnet.connect( "192.168.1.99", 23 );
InputStream in = telnet.getInputStream();
PrintStream out = new PrintStream( telnet.getOutputStream() );
...
telnet.close();
Copier après la connexion

十五、Commons Validator
http://jakarta.apache.org/commons/validator/
说明:用来帮助进行验证的工具。比如验证Email字符串,日期字符串等是否合法。

使用示例:

// Get the Date validator
DateValidator validator = DateValidator.getInstance();
// Validate/Convert the date
Date fooDate = validator.validate(fooString, "dd/MM/yyyy");
if (fooDate == null) {
// error...not a valid date
return;
}
Copier après la connexion

十六、Commons Virtual File System
http://jakarta.apache.org/commons/vfs/
说明:提供对各种资源的访问接口。支持的资源类型包括

1. CIFS

2. FTP

3. Local Files

4. HTTP and HTTPS

5. SFTP

6. Temporary Files

7. WebDAV

8. Zip, Jar and Tar (uncompressed, tgz or tbz2)

9. gzip and bzip2

10. res

11. ram

这个包的功能很强大,极大的简化了程序对资源的访问。

使用示例:

从jar中读取文件

// Locate the Jar file
FileSystemManager fsManager = VFS.getManager();
FileObject jarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" );
// List the children of the Jar file
FileObject[] children = jarFile.getChildren();
System.out.println( "Children of " + jarFile.getName().getURI() );
for ( int i = 0; i < children.length; i++ ){
System.out.println( children[ i ].getName().getBaseName() );
}
Copier après la connexion

从smb读取文件

StaticUserAuthenticator auth = new StaticUserAuthenticator("username", "password", null);
FileSystemOptions opts = new FileSystemOptions();
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
FileObject fo = VFS.getManager().resolveFile("smb://host/anyshare/dir", opts);
Copier après la connexion

以上就是java-类库-Apache Commons补充的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!