Java Micronaut中是否有弹簧资源的等效物?
我正在将一个小型Spring引导应用程序迁移到Micronaut 1.0.1,我想知道是否有一个与Java Micronaut中是否有弹簧资源的等效物?,java,micronaut,Java,Micronaut,我正在将一个小型Spring引导应用程序迁移到Micronaut 1.0.1,我想知道是否有一个与org.springframework.core.io.Resource及其实现(如ClasspathResource)等价的应用程序 在SpringBoot中,我使用服务的构造函数将资源注入到服务中 @Service public class MyService() { private final Resource resource; public MyService(Reso
org.springframework.core.io.Resource
及其实现(如ClasspathResource
)等价的应用程序
在SpringBoot中,我使用服务的构造函数将资源注入到服务中
@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=new ResourceResolver().getLoader(ClassPathResourceLoader.class).get();
可选资源=loader.getResource(“classpath:foo/bar.txt”);
我使用了io.micronaut.core.io.ResourceLoader
。通过构造函数连接:
@控制器(“根”)
公共类MyController{
私人最终资源装载机;
公共MyController(资源加载程序){
this.loader=loader;
}
@获取(“/索引”)
@生成(MediaType.TEXT\u HTML)
公共字符串greet()引发IOException{
返回新字符串(loader.getResourceAsStream(“index.html”).get().readAllBytes());
}
}
我的index.html
:src/main/resources/index.html
运行良好,但您可以做得更好。在Micronaut中,您可以使用。它大致相当于Spring的资源
。您还可以在中使用Readable
,从而将配置yaml/属性直接绑定到Readable
属性:
micronaut:
应用程序:
名称:Demo
图像:
图像文件:“classpath:images/bismarckia nobilis.jpg”
#图像文件:“文件:/path/to/images/bismarckia nobilis.jpg”
其他文件:
-“classpath:images/bismarckia nobilis.jpg”
-“classpath:images/bambol.jpg”
-“类路径:images/hibiscus.jpg”
我创造了:
- 博文:
- 演示: