1. Spring의 여러 주입 방법
(자세한 인터뷰 질문 권장 사항: java 인터뷰 질문 및 답변)
Annotation 주입, setter 주입, 생성자 주입
2. Spring이 트랜잭션 관리를 구현하는 방법
프로그래밍 방식 트랜잭션 관리: 트랜잭션의 제출 및 롤백을 제어하기 위해 트랜잭션 관리 코드를 비즈니스 메서드에 포함합니다. 프로그래밍 방식 트랜잭션에서는 각 비즈니스 작업에 추가 트랜잭션 관리 코드가 포함되어야 합니다.
(추천 튜토리얼: Java 입문 튜토리얼)
선언적 트랜잭션 관리: Spring AOP 인터셉터를 사용하여 구현됩니다.
3. Spring IOC와 AOP의 원리
IOC는 주로 객체를 생성하고 Bean을 관리하는 데 도움을 주는 컨테이너입니다. 제어 역전은 Spring을 시작할 때 객체를 생성할 수 있는 권한을 부여하는 것을 의미합니다. , XML은 다른 구성 파일과 함께 정보를 ioc 컨테이너에 로드하고 ioc는 관리를 위한 등록 정보 테이블을 생성한 다음 레지스트리를 통해 이를 빈으로 변환하고 해당 빈을 스프링 컨테이너 빈 버퍼 풀(hashMap 구현)에 넣습니다. ), 그런 다음 Bean을 사용하여 캐시 풀에서 직접 검색합니다.
(학습 영상 추천: java 강좌)
기억하세요: 스프링 구성 파일은 Bean 관계를 설명하는 데 사용되며 리플렉션 기능을 사용하여 Bean 종속성을 설정합니다.
Spring AOP의 최하위 계층은 동적 프록시입니다. 동적 프록시는 jdk 프록시와 cglib 프록시로 구분됩니다. jdk 프록시는 주로 InvocationHandler 인터페이스를 구현하고 해당 호출을 구현하는 프록시 클래스를 요구합니다. 메서드의 수신 매개변수에는 인터페이스 개체와 인터페이스 메서드가 포함되며, 그런 다음 리플렉션을 통해 프록시 개체가 생성됩니다(두 개의 매개변수가 전달되어야 하며, 하나는 현재 호출 클래스의 인스턴스이고, 다른 하나는 InvocationHandler를 구현하고 인터페이스를 전달하는 인스턴스입니다.
위 내용은 다년간의 개발 경험을 바탕으로 정리한 Java 인터뷰 질문——(8)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!