Spring / Hibernate如何访问私有成员? [英] How Can Spring/Hibernate Access Private Members?

查看:123
本文介绍了Spring / Hibernate如何访问私有成员?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

正如你所知,Spring可以为私有实例变量注入值,Hibernate可以访问持久化类的私有变量。但是,我甚至无法通过反思调用一个类的保护方法! Spring和Hibernate如何公然违反安全性?更重要的是,我该怎么做? :D

解决方案

在没有禁止性安全管理器的情况下运行时,可以通过反射获取相应方法或字段的实例并调用 setAccessible() on它。



使用Java安全管理器,您当然可以通过编写自定义策略来禁用它。


As you know, Spring can inject values to private instance variables, and Hibernate can access private variables of persistent classes. However, I can't even call protected methods of a class through reflection! How can Spring and Hibernate blatantly breach security like that? And more importantly, how do I do it? :D

解决方案

When running without prohibitive security manager, you can obtain instance of corresponding method or field trough reflection and call setAccessible() on it.

Using Java security manager you can of course disable that by writing a custom policy.

这篇关于Spring / Hibernate如何访问私有成员?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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