我正在将一个小型 Spring Boot 应用程序迁移到 Micronaut 1.0.1,我想知道是否有 org.springframework.core.io.Resource
及其实现的等效项,例如 类路径资源
?
在 Spring Boot 中,我使用其构造函数将资源注入(inject)到服务中。
@Service
public class MyService() {
private final Resource resource;
public MyService(Resource resource) { this.resource = resource; }
}
我如何在 Micronaut 中执行此操作?
@Singleton
public class MyService() {
private final Resource resource;
@Inject
public MyService(Resource resource) { this.resource = resource; }
}
最佳答案
在 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");
关于java - Micronaut 中是否有 Springs Resource 的等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53370135/