[JAVA] [Spring Boot] Si vous utilisez Spring Boot, il était pratique d'utiliser de nombreux utilitaires.

Comme je le conclus dans le titre, si vous utilisez Spring Boot, il était pratique de pouvoir utiliser diverses fonctions util définies dans le package ʻorg.springframework.util`.

Voici deux fonctions et implémentations que j'ai utilisées.

Liste des vérifications nulles / vides

C'est une vérification nulle / vide de la liste qui donne l'impression que l'implémentation est diversement dirigée, mais elle est définie dans ʻorg.springframework.util.CollectionUtils.isEmpty`.

/**
 * Return {@code true} if the supplied Collection is {@code null} or empty.
 * Otherwise, return {@code false}.
 * @param collection the Collection to check
 * @return whether the given Collection is empty
 */
public static boolean isEmpty(@Nullable Collection<?> collection) {
	return (collection == null || collection.isEmpty());
}

Obtenir l'extension de fichier

Même si je faisais une recherche sur Google, cela donnait l'impression que je devrais mettre Guava ou l'implémenter moi-même, mais cela a été mis en œuvre.

/**
 * Extract the filename extension from the given Java resource path,
 * e.g. "mypath/myfile.txt" -> "txt".
 * @param path the file path (may be {@code null})
 * @return the extracted filename extension, or {@code null} if none
 */
@Nullable
public static String getFilenameExtension(@Nullable String path) {
	if (path == null) {
		return null;
	}

	int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);
	if (extIndex == -1) {
		return null;
	}

	int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR);
	if (folderIndex > extIndex) {
		return null;
	}

	return path.substring(extIndex + 1);
}

Conclusion

Ce n'est pas limité à Spring, mais j'ai pensé qu'il était important de "vérifier s'il était implémenté dans l'utilitaire de la bibliothèque déjà installée" avant de l'implémenter par vous-même ou d'envisager l'introduction d'une nouvelle bibliothèque. Il est difficile de savoir quel type de fonction est implémenté en raison de sa faible googleabilité, mais vous pouvez trouver chaque fonction de manière inattendue en effectuant une recherche. Je pense que vous devriez lire le code au moins une fois si vous apportez l'implémentation de la bibliothèque, mais c'est mieux que la peine d'implémenter et de tester par vous-même, et ce sera une expérience d'apprentissage.

Plus tard, j'ai pensé que l'idée que je pourrais facilement trouver cette zone était géniale.

Recommended Posts

[Spring Boot] Si vous utilisez Spring Boot, il était pratique d'utiliser de nombreux utilitaires.
Si vous souhaitez transformer une application Java en une image Docker, il est pratique d'utiliser jib.
Volume qui souhaite utiliser de nombreux opérateurs logiques dans l'instruction if
Un mémorandum de dépendance à Spring Boot2 x Doma2
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Jusqu'à ce que vous créiez un projet Spring Boot dans Intellij et que vous le transmettiez à Github
Comment utiliser ModelMapper (Spring boot)
Actionneur Spring Boot 2.0, 3 changements à connaître pour le faire fonctionner
Si vous en avez assez de "Spring Boot", pourquoi ne pas essayer "jooby"?
Comment faire fonctionner @Transactional qui ne fonctionne pas si vous ne l'utilisez pas correctement
Si vous utilisez DataSourceTransactionManager de Spring, il peut être validé en cas d'erreur! ??
J'ai essayé de cloner une application Web pleine de bugs avec Spring Boot
Comment utiliser MyBatis2 (iBatis) avec Spring Boot 1.4 (Spring 4)
Comment utiliser h2db intégré avec Spring Boot
Vous utilisez le contexte pour utiliser MDC avec Spring WebFlux
Comment utiliser les attributs de session Spring Boot (@SessionAttributes)
L'histoire de la montée de la série Spring Boot 1.5 à la série 2.1
Comment ajouter un chemin de classe dans Spring Boot
[Swift] Si le support de l'application est iOS 11 ou version ultérieure, il n'était pas nécessaire d'utiliser correctement Int et Int64
Si vous utilisez SQLite avec VSCode, utilisez l'extension (comment voir le fichier binaire de sqlite3)
Que faire si vous obtenez une erreur de nombre d'arguments erroné dans binding.pry
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Notez que j'étais accro au traitement par lots avec Spring Boot
Un site facile à comprendre lorsque j'ai commencé à apprendre Spring Boot
Comment écrire un test unitaire pour Spring Boot 2
05. J'ai essayé de supprimer la source de Spring Boot
Comment créer un projet Spring Boot dans IntelliJ
J'ai essayé de réduire la capacité de Spring Boot
[Spring Boot] Comment créer un projet (pour les débutants)
Que faire si vous créez accidentellement un modèle
Si vous souhaitez utiliser Mockito avec Kotlin, utilisez mockito-kotlin
[Introduction à Spring Boot] Soumettez un formulaire à l'aide de thymeleaf
Comment démarrer par environnement avec Spring Boot de Maven
JAWJAW est pratique si vous utilisez WordNet à partir de Java
Remarques à vérifier lorsque vous essayez d'utiliser Lombok
L'histoire de la montée de Spring Boot de la série 1.5 à la série 2.1 part2
À propos de la fonction de Spring Boot en raison de différentes versions
Ce que j'ai corrigé lors de la mise à jour vers Spring Boot 1.5.12 ・ Ce à quoi j'étais accro
Code du port C avec de nombreux typecasts vers Swift
Une histoire remplie des bases de Spring Boot (résolu)
Découpez SQL en fichier de propriété avec jdbcTemplate of spring boot
Utilisation pratique de Map que vous ne connaissez pas de manière inattendue
Comment appeler et utiliser l'API en Java (Spring Boot)
Delicate est pratique à utiliser lorsque vous souhaitez réutiliser des pièces
Utilisez @ControllerAdvice, @ExceptionHandler, HandlerExceptionResolver dans Spring Boot pour intercepter les exceptions
Que faire si la commande rails devient inutilisable
Les rails étaient difficiles, alors j'ai fait quelque chose comme un contrôleur Spring Framework pour faire une pause
[Java] Que faire si un grand nombre de "Le fichier est trop ouvert" s'affiche en raison de FileNotFoundException
Si vous souhaitez simuler une méthode dans RSpec, vous devez utiliser la méthode allow pour mock et la méthode singleton.
Conseils lorsque vous souhaitez insérer de nombreux sauts de ligne et tabulations lors du remplacement d'une chaîne de caractères
Créez une application Web Spring Boot qui utilise IBM Cloudant et déployez-la sur Cloud Foundry
Je veux connaître la méthode du contrôleur où l'exception a été levée dans le ExceptionHandler de Spring Boot