>Java >java지도 시간 >[전송] MyBatis 인터페이스의 간단한 구현 원리

[전송] MyBatis 인터페이스의 간단한 구현 원리

PHP中文网
PHP中文网원래의
2017-07-09 18:12:391319검색

MyBatis 인터페이스의 간단한 구현 원리

MyBatis3를 사용해 본 사람들은 왜 MyBatis의 Mapper 인터페이스에 구현 클래스가 없는데 직접 사용할 수 있는지 궁금할 것입니다.

MyBatis는 Java 동적 프록시로 구현된 인터페이스를 사용하기 때문입니다.

여기에는 원리를 설명하기 위한 간단한 예가 있습니다. 이는 MyBatis에만 국한된 것이 아닙니다. 이 아이디어를 다른 곳에도 적용할 수 있습니다.

인터페이스 정의

으아악

동적 프록시 인터페이스 구현

으아악

여기서 invoke方法简单说说MyBatis的实现原理,在该方法中,我们通过Method能够获取接口和方法名,接口的全名相当于MyBatis XML中的namespace,方法名相当于具体一个方法中的id。也就是说通过动态代理后,可以通过SqlSession来通过namespace.id 메서드에 해당하는 메서드를 호출합니다. 인터페이스를 사용하는 것이 더 편리하지만 간접적인 방법입니다.

동적 프록시 팩토리 클래스

으아악

이 팩토리 클래스는 모든 인터페이스에 대한 동적 프록시 클래스를 생성할 수 있습니다.

테스트

으아악

요약

일반적으로 동적 에이전트의 경우 일반적으로 트랜잭션, 로그 또는 기록 방법 실행 효율성 및 기타 애플리케이션을 처리하는 데 사용됩니다. 이는 모두 구현 전 또는 구현 후 클래스 메서드의 특수 처리입니다.

이 기사를 통해 실제로 다른 응용 프로그램 방향을 볼 수 있습니다. 즉, 클래스를 구현할 필요가 없으며 인터페이스 메서드가 동적 프록시를 통해 직접 실행됩니다. MyBatis는 이 메서드를 사용하여 메서드를 쉽게 호출할 수 있습니다. 이 아이디어를 활용하면 더 나은 디자인을 만들 수 있을 것입니다.

원문:

위 내용은 [전송] MyBatis 인터페이스의 간단한 구현 원리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.