Micronaut 中的 Springs 资源是否有等价物? [英] Is there an equivalent for Springs Resource in Micronaut?

查看:62
本文介绍了Micronaut 中的 Springs 资源是否有等价物?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将一个小型 Spring Boot 应用程序迁移到 Micronaut 1.0.1,我想知道是否有 org.springframework.core.io.Resource 及其实现的等效项,例如 类路径资源?

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?

在 Spring Boot 中,我使用其构造函数将资源注入到服务中.

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; }
}

如何在 Micronaut 中执行此操作?

How can I do this in 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.ClassPathResourceLoaderio.micronaut.core.io.file.FileSystemResourceLoader.获取它们的一种选择是通过 io.micronaut.core.io.ResourceResolver:

In Micronaut you can use io.micronaut.core.io.ResourceLoader variants, such as io.micronaut.core.io.scan.ClassPathResourceLoader or io.micronaut.core.io.file.FileSystemResourceLoader. One option to get them is via io.micronaut.core.io.ResourceResolver:

ClassPathResourceLoader loader = new ResourceResolver().getLoader(ClassPathResourceLoader.class).get();
Optional<URL> resource = loader.getResource("classpath:foo/bar.txt");

这篇关于Micronaut 中的 Springs 资源是否有等价物?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆