많은 프레임 워크 (Struts, Spring, Hibernate, AspectJ)는 바이트 코드 조작을 내부적으로 사용한다고 들었다. 바이트 코드 조작을 사용해야하는 이유는 무엇입니까? 각 특정 프레임 워크에 대한 유스 케이스를 적어도 가진 답변을 기대하고 있습니다.인기있는 프레임 워크가 바이트 코드 조작을 내부적으로 사용하는 이유는 무엇입니까?
2
A
답변
10
이 프레임 워크는 클래스의 바이트 코드를 조작하여 해당 기능에 대한 지원을 클래스에 추가 할 수 있도록합니다. 예를 들어, Hibernate는 클래스의 getter/setter를 코딩하여 엔티티가 업데이트되었을 때 (더티가 될 때) 추적하고 /하거나 지연로드를 수행하는 코드가 포함 된 하위 엔티티의 프록시를 반환하도록 지원할 수 있습니다.
Aspectj는 요청한 애스펙트를 추가하기 위해 바이트 코드를 조작합니다. 예를 들어 클래스 호출시 기록 할 클래스의 모든 메소드에 조언을 추가하려는 경우 aspectj는 각 메소드에 해당 로깅을 수행하는 바이트 코드를 추가 할 수 있습니다.
관련 문제
- 1. 바이트 코드 생성을 사용하는 프레임 워크가 새는 추상화를 만드나요?
- 2. 인기있는 C++ 서비스 프레임 워크가 있습니까?
- 3. 어떻게 cairngorm 프레임 워크가 내부적으로 작동합니까?
- 4. GWT 및 Script # 스타일 프레임 워크가 지배적이지 않은 이유는 무엇입니까?
- 5. "전체 프레임"과 "프레임 추가"사이의 Java 바이트 코드 차이
- 6. 현대에 가장 인기있는 Ajax 프레임 워크는 무엇입니까?
- 7. BB 코드 조작을 중지하는 방법은 무엇입니까?
- 8. monodevelop에서 Windows에서 실행되는 .NET 3.5 프레임 워크가 필요한 이유는 무엇입니까?
- 9. 스프링 프레임 워크가 "non-intrusive"라고하는 이유는 무엇입니까?
- 10. 액션 기반 웹 프레임 워크가 우세한 이유는 무엇입니까?
- 11. Dependency Injection 프레임 워크가 컨테이너 계층 구조를 지원하는 이유는 무엇입니까?
- 12. 속성을 설정할 때 Entity 프레임 워크가 db의 데이터를로드하는 이유는 무엇입니까?
- 13. Google에서 인기있는 JavaScript 형식의 공개 호스팅을 제공하는 이유는 무엇입니까?
- 14. 왜 일부 프레임 워크가 느려 집니까?
- 15. Flex에 PHP 프레임 워크가 필요합니까?
- 16. Moles Isolation 프레임 워크가 구현되는 방법은 무엇입니까?
- 17. 바이트 수준 조작을 수행하는 가장 깨끗한 방법은 무엇입니까?
- 18. 프레임 워크가 xcode에 누락되었습니다.
- 19. GUI를 만들기 위해 HTML과 CSS를 사용하는 GUI 프레임 워크가 있습니까?
- 20. JavaScript 프레임 워크가 가장 나쁜 것은 무엇입니까?
- 21. 젠드 프레임 워크가 codeigniter와 충돌합니다
- 22. 트위터 응용 프로그램에 어떤 프레임 워크가 사용됩니까?
- 23. Erlang의 "모바일 코드"개념을 지원하는 .NET 용 프레임 워크가 있습니까?
- 24. C에 wxWidgets 프레임 워크가 있습니까?
- 25. 스패로우 프레임 워크가 작동하지 않습니다
- 26. 유용한 Silverlight 프레임 워크가 있습니까?
- 27. 연결없는 ORM 프레임 워크가 있습니까?
- 28. UIAutomation 프레임 워크가 시뮬레이터에서 작동합니까?
- 29. Tao 프레임 워크가 작동하지 않습니까?
- 30. iAd 프레임 워크가 Xcode에 없습니다.
예 저는 당신의 요지를 얻었지만 스프링 프레임 워크와 스트럿츠 2가 프레임 워크에서 바이트 코드 조작을 사용하는 방법에 대해 설명했습니다. –