saw303:
Estoy migrando una pequeña aplicación primavera de arranque a Micronaut 1.0.1 y me preguntaba si hay un equivalente org.springframework.core.io.Resource
y su implementación tales como ClasspathResource
?
En la primavera de arranque me inyecto un recurso en un servicio utilizando su constructor.
@Service
public class MyService() {
private final Resource resource;
public MyService(Resource resource) { this.resource = resource; }
}
¿Cómo puedo hacer esto en Micronaut?
@Singleton
public class MyService() {
private final Resource resource;
@Inject
public MyService(Resource resource) { this.resource = resource; }
}
Álvaro Sánchez-Mariscal :
En Micronaut puede utilizar io.micronaut.core.io.ResourceLoader
variantes, tales como io.micronaut.core.io.scan.ClassPathResourceLoader
o io.micronaut.core.io.file.FileSystemResourceLoader
. Una de las opciones para conseguirlos es a través de io.micronaut.core.io.ResourceResolver
:
ClassPathResourceLoader loader = new ResourceResolver().getLoader(ClassPathResourceLoader.class).get();
Optional<URL> resource = loader.getResource("classpath:foo/bar.txt");