2017-01-26 2 views
5

나는 반사파를 사용하여 클래스의 개인 생성자를 호출하여 sonar 스캔 보고서에 표시된 불충분 한 분기 적용 문제를 해결합니다. 이것은 내가 일하고있는 코드의 스 니펫입니다.Fortify high : 전용 생성자를 호출하는 데 사용되는 리플렉션에 대한 액세스 지정자 조작

// reflection to access a private constructor of a class 
     Constructor<CMISBridgeMaps> c = CMISBridgeMaps.class.getDeclaredConstructor(new Class[0]); 
     c.setAccessible(true); 
     cmisBridgeMaps = c.newInstance(new Object[0]); 

위의 코드는 내 소나 스캔 중요 문제를 해결했습니다. 그러나 불행하게도 이제 다음 줄에 액세스 지정자 조작 문제를 보여주는 강화 :

c.setAccessible(true); 

가 어떻게 해결 모두 강화하고 문제를 sonarcube 수 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.

답변

-2

스프링을 사용하는 경우 ReflectionUtils.makeAccessible(field)을 사용하면 해당 필드에 액세스 할 수 있습니다. 요새화는이 비틀기에 대해 불평하지 않습니다.

자세한 내용은 this article에서 확인할 수 있습니다.