Comment accéder à un fichier de ressources dans src/main/resources/ dossier au Printemps de Démarrage
J'essaye d'accéder à xsd dans src/main/resources/XYZ/afficher le dossier où XYZ/afficher les dossiers sont créés par moi et le dossier a abc.xsd dont j'ai besoin pour la validation xml.
Lorsque j'essaie d'accéder à la xsd chaque fois que je reçois le résultat null,
J'ai essayé aussi,
1)
@Value(value = "classpath:XYZ/view/abc.xsd")
private static Resource dataStructureXSD;
InputStream is = dataStructureXSD.getInputStream();
Source schemaSource = new StreamSource(is);
Schema schema = factory.newSchema(schemaSource);
2)
Resource resource = new ClassPathResource("abc.xsd");
File file = resource.getFile();
et beaucoup plus de pistes que j'ai fait pour accéder à la ressource ou du chargeur de classe etc.
Enfin je reçois le xsd avec,
File fichier = new File(nouveau ClassPathResource("/src/main/resources/XYZ/view/abc.xsd").getPath());
Schéma schéma = factory.newSchema(fichier);
et il fonctionne, je veux savoir pourquoi les deux autres sentiers aurait mal tourné, ou pourquoi il n'a pas de travail pour moi, et très bien pour les autres. 🙁
Ou est-il autre bonne façon de faire qui me manque
Vous devez vous connecter pour publier un commentaire.
La
@Value
annotation est utilisé pour injecter les valeurs de propriété dans des variables, généralement des Chaînes ou de simples valeurs primitives. Vous pouvez trouver plus d'info ici.Si vous voulez charger un fichier de ressources, l'utilisation d'un
ResourceLoader
comme:Ensuite, vous pouvez accéder à la ressource:
fileResource.getInputStream()
oufileResource.getFile()
fileResource.getFile()
travail pour fichier au printemps de démarrage pot?Les deux
@Value
etResourceLoader
travail OK pour moi. J'ai un simple fichier textesrc/main/resources/
et j'ai pu le lire avec les deux approches.Peut-être le
static
mot-clé est le coupable?Un travail plein de code d'exemple est disponible dans mon Chargement des ressources au Printemps de Démarrage tutoriel.