java - Micronaut 中是否有 Springs Resource 的等效项?

标签 java micronaut

我正在将一个小型 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/

相关文章:

Java - 偏好的存储结构?

java - 读取文件的最后一个条目时出错

java - 如何从 micronaut 框架内的服务访问 ApplicationContext?

java - Micronaut 无法实现存储库方法 : Repository. 更新(对象实体)。找不到可能的实现

java - 在pom.xml中添加org.springframework.boot依赖后如何导入@NotBlank

java - 对 main() 中的函数进行 JUnit 测试

java - 可以使用 ASM 将方法添加到现有的 Java 类吗?

windows - 无法删除一些 child 。发生这种情况的原因是,进程已打开文件或在目标目录中设置了工作目录

java - Micronaut 功能区 eureka 依赖冲突

spring-boot - 有什么方法可以知道 Java 应用程序的加载时间?