加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java-注入方法/变量:公共还是没有?

发布时间:2020-12-15 01:19:02 所属栏目:大数据 来源:网络整理
导读:许多Java框架允许将用于注入的类成员声明为非公共的.例如,Spring和EJB 3中的注入变量可以是私有的. JPA允许保护持久性类的属性或将其私有化. 我们知道,如果可以的话,最好将方法声明为非公共方法.话虽如此,如果我没记错的话,允许这些框架访问非公共成员仅适用

许多Java框架允许将用于注入的类成员声明为非公共的.例如,Spring和EJB 3中的注入变量可以是私有的. JPA允许保护持久性类的属性或将其私有化.

我们知道,如果可以的话,最好将方法声明为非公共方法.话虽如此,如果我没记错的话,允许这些框架访问非公共成员仅适用于默认的Java安全管理器.难道不是自定义代码还可以通过调用setAccessible()通过反射来获得对非公共成员的访问权限,这将损害安全性?

哪个问题提出了这个问题:设置注射方法的访问级别时的最佳实践是什么?

最佳答案
通常,一个类需要选择加入持久性机制.例如,Java serialisatoin需要一个类来实现java.io.Serializable.实现Serializable的类有责任确保它们的安全.如果某个库允许通过外部配置文件戳私有,则不应信任它-反射确实很危险,其使用通常很混乱.

当然,如果您确实发现了漏洞,请向相应的小组报告.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读