I am migrating a tiny Spring Boot application to Micronaut 1.0.1 and I was wondering if there is an equivalent for org.springframework.core.io.Resource and their implementation such as ClasspathResource?
In Spring Boot I inject a resource into a service using its constructor.
@Service
public class MyService() {
private final Resource resource;
public MyService(Resource resource) { this.resource = resource; }
}
Run Code Online (Sandbox Code Playgroud)
How can I do this in Micronaut?
@Singleton
public class MyService() {
private final Resource resource;
@Inject
public MyService(Resource resource) { this.resource = resource; }
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在Micronaut中,您可以使用io.micronaut.core.io.ResourceLoader变体,例如io.micronaut.core.io.scan.ClassPathResourceLoader或io.micronaut.core.io.file.FileSystemResourceLoader。获得它们的一种选择是通过io.micronaut.core.io.ResourceResolver:
ClassPathResourceLoader loader = new ResourceResolver().getLoader(ClassPathResourceLoader.class).get();
Optional<URL> resource = loader.getResource("classpath:foo/bar.txt");
Run Code Online (Sandbox Code Playgroud)