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

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

Jan 19, 2017 pm 01:10 PM

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)!


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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le projet H5 Comment exécuter le projet H5 Apr 06, 2025 pm 12:21 PM

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

Comment régler le codage des caractères du côté serveur pour résoudre la table de bootstrap Briked Comment régler le codage des caractères du côté serveur pour résoudre la table de bootstrap Briked Apr 07, 2025 pm 12:00 PM

Pour définir l'encodage des caractères côté serveur pour résoudre la table de bootstrap brouillé, vous devez suivre les étapes suivantes: Vérifiez le codage des caractères du serveur; modifier le fichier de configuration du serveur; Définissez le codage des caractères sur UTF-8; Enregistrer et redémarrer le serveur; Vérifiez le codage.

H5: outils, cadres et meilleures pratiques H5: outils, cadres et meilleures pratiques Apr 11, 2025 am 12:11 AM

Les outils et les frameworks qui doivent être maîtrisés dans le développement H5 incluent Vue.js, React et WebPack. 1.Vue.js convient à la construction d'interfaces utilisateur et prend en charge le développement des composants. 2. React optimise le rendu de la page via Virtual DOM, adapté aux applications complexes. 3.WebPack est utilisé pour l'emballage des modules et optimiser le chargement des ressources.

Impossible de démarrer MySQL dans XAMPP Impossible de démarrer MySQL dans XAMPP Apr 08, 2025 pm 03:15 PM

Il existe de nombreuses raisons pour lesquelles XAMPP ne parvient pas à démarrer MySQL, y compris les conflits de port, les erreurs de fichiers de configuration, les autorisations système insuffisantes, les problèmes de dépendance au service et les problèmes d'installation. Les étapes de dépannage sont les suivantes: 1) Vérifier les conflits du port; 2) vérifier les fichiers de configuration; 3) Vérifier les autorisations du système; 4) Vérifier les dépendances des services; 5) Réinstaller MySQL. Suivez ces étapes et vous pouvez trouver et résoudre les problèmes qui font échouer le démarrage de MySQL.

Comment prévisualiser la page bootstrap Comment prévisualiser la page bootstrap Apr 07, 2025 am 10:06 AM

Les méthodes d'aperçu des pages bootstrap sont: ouvrez le fichier HTML directement dans le navigateur; actualiser automatiquement le navigateur à l'aide du plug-in Live Server; et créer un serveur local pour simuler un environnement en ligne.

Résumé des vulnérabilités de phpmyadmin Résumé des vulnérabilités de phpmyadmin Apr 10, 2025 pm 10:24 PM

La clé de la stratégie de défense de sécurité PHPMYADMIN est: 1. Utilisez la dernière version de PhpMyAdmin et mettez régulièrement à jour PHP et MySQL; 2. Contrôler strictement les droits d'accès, utiliser .htaccess ou le contrôle d'accès au serveur Web; 3. Activer le mot de passe fort et l'authentification à deux facteurs; 4. Sauvegarder régulièrement la base de données; 5. Vérifiez soigneusement les fichiers de configuration pour éviter d'exposer des informations sensibles; 6. Utiliser le pare-feu d'application Web (WAF); 7. Effectuer des audits de sécurité. Ces mesures peuvent réduire efficacement les risques de sécurité causés par le phpmyadmin en raison d'une configuration inappropriée, d'une version antérieure ou de risques de sécurité environnementale, et d'assurer la sécurité de la base de données.

Expertise des compositeurs: ce qui rend quelqu'un de compétence Expertise des compositeurs: ce qui rend quelqu'un de compétence Apr 11, 2025 pm 12:41 PM

Pour devenir compétent lorsque vous utilisez Composer, vous devez maîtriser les compétences suivantes: 1. Compétions dans l'utilisation des fichiers composer.json et composer.

See all articles