quarkus - 为什么 Quarkus 会警告我关于私有字段的注入?
问题描述
当我在 Quarkus 应用程序中使用类似以下内容时:
@Path("v1")
@Produces(APPLICATION_JSON)
public class HelloWorldResource {
@Inject
private SomeBean someBean;
}
然后我在构建过程中收到以下警告。
[INFO] [io.quarkus.arc.processor.BeanProcessor] Found unrecommended usage of private members (use package-private instead) in application beans:
- @Inject field acme.jaxrs.v1.HelloWorldResource#someBean
一切似乎都很好,那么为什么 Quarkus 建议更改private
为package-private
?
解决方案
如果一个属性是package-private
,Quarkus 可以直接注入它而不需要任何反射来发挥作用。
这就是为什么 Quarkus 建议package-private
成员进行注入,因为它试图尽可能避免反射(原因是更少的反射意味着更好的性能,这是 Quarkus 努力实现的目标)。
有关详细信息,请参阅本指南的第 2 节。
推荐阅读
- reactjs - React 和 PUT Ajax PUT 请求上的 CORS 问题
- sql - 如何编写 SQL JOIN 查询来读取属于某个系的所有程序?
- sql - 用count sql递归
- python - Python>Pandas>对具有相同列名、相同索引值但不同索引长度的不同数据帧中的列求和
- excel - 将电子邮件附件下载到特定文件夹,然后在 Outlook 中使用 VBA 打开一个 excel 文件
- amazon-web-services - amazon waf 阻止了 json 有效载荷
- wordpress - Wordpress:Add_filter 取决于 url
- r - R中的限制组合
- r - 按具有不同均值和标准差的组模拟整数
- reporting-services - SSRS:如何在 SSRS 报告中每页显示 20 个组