자바 고전 면접 문제 모음:Spring

1.스프링 이란 무엇 인가?어떤 장점 이 있 습 니까?
Spring 은 자바 기업 급 응용의 오픈 소스 개발 구조 로 주로 자바 응용 을 개발 하 는 데 사용 되 지만 일부 확장 은 J2EE 플랫폼 을 구축 하 는 웹 응용 을 대상 으로 하 는 것 이다.목 표 는 자바 기업 급 응용 개발 을 간소화 하고 POJO 를 바탕 으로 하 는 프로 그래 밍 모델 을 통 해 좋 은 프로 그래 밍 습관 을 추진 하 는 것 이다.
주로 다음 과 같은 장점 이 있다.
  • 은 IOC 기술 을 제공 합 니 다.용 기 는 의존 하 는 대상 을 관리 하 는 데 도움 을 주 고 의존 대상 을 만 들 거나 관리 하지 않 아 도 되 며 프로그램의 디 결합 을 쉽게 실현 할 수 있 습 니 다.
  • 은 사무 지원 을 제공 하여 업무 수행 을 더욱 편리 하 게 만 들 었 다.
  • 은 절편 프로 그래 밍 을 제공 하여 특정한 문 제 를 더욱 편리 하 게 처리 할 수 있다.더욱 편리 한 프레임 워 크 통합,
  • 은 MyBatis,Hibernate 등 다른 프레임 워 크 를 편리 하 게 통합 할 수 있다.
  • 2.AOP 란 무엇 인가?
    AOP:Aspect Oriented Programming 은 절단면 프로 그래 밍 을 위 한 사전 컴 파일 방식 과 운영 기간 동적 대 리 를 통 해 프로그램 기능 을 통일 적 으로 유지 하 는 기술 입 니 다.쉽게 말 하면 특정한'절단면'(류)문 제 를 통일 적 으로 처리 하 는 프로 그래 밍 사상 이다.예 를 들 어 로그,이상 등 을 통일 적 으로 처리 하 는 것 이다.
    3.IOC 란 무엇 인가?
    IOC:Inversion of Control(중국어:반전 제어)은 Spring 의 핵심 으로 Spring 프레임 워 크 에 있어 Spring 이 대상 의 생명 주기 와 대상 간 의 관 계 를 통제 하 는 것 이다.쉽게 말 하면 통 제 는 현재 대상 이 내부 구성원 에 대한 통제 권 을 말한다.제어 반전 이란 이러한 통제 권 은 현재 대상 이 관리 하지 않 고 다른(류,제3자 용기)에서 관리 하 는 것 을 말한다.
    4.디 란 무엇 인가?
    DI(Dependency Injection)는 의존 주입 이 라 고 하 는데 IOC 에 대한 간단 한 해석 입 니 다.의존 주입 의 기본 원칙 은 응용 구성 요소 가 자원 이나 다른 의존 하 는 협력 대상 을 찾 는 것 을 책임 지지 말 아야 한 다 는 것 입 니 다.
    5.Spring 에는 어떤 핵심 모듈 이 있 습 니까?
  • Spring Core:프레임 의 가장 기본 적 인 부분 으로 IOC 와 의존 주입 특성 을 제공 합 니 다.
  • Spring Context:코어 패 키 지 를 바탕 으로 구 축 된 Context 패 키 지 는 프레임 워 크 식 대상 접근 방법 을 제공 합 니 다.
  • Spring dao:Data Access Object 는 JDBC 의 추상 층 을 제공 합 니 다.
  • Spring aop:절단면 을 위 한 프로 그래 밍 을 제공 하여 차단기,접점 등 을 사용자 정의 할 수 있 습 니 다.
  • Spring Web:웹 개발 에 대한 통합 기능 을 제공 합 니 다.예 를 들 어 파일 업로드,servlet listeners 를 이용 하여 IOC 용기 초기 화 와 웹 에 대한 applicationContext 를 제공 합 니 다.
  • Spring Web MVC:Spring 의 MVC 패 키 지 는 웹 애플 리 케 이 션 의 Model-View-Controller(MVC)의 실현 을 제공 합 니 다.
  • Spring ORM:기 존의 ORM 프레임 워 크 에 대한 지원;

  • 6.Spring 에서 자주 사용 하 는 주입 방식 은 어떤 것 이 있 습 니까?
  • setter 속성 주입
  • 구조 방법 주입
  • 주해 방식 주입
  • 7.Spring 의 Bean 은 라인 이 안전 합 니까?
    spring 의 bean 기본 값 은 단일 모드 입 니 다.spring 프레임 워 크 는 단일 bean 에 대해 다 중 스 레 드 패키지 처 리 를 하지 않 았 습 니 다.실제로 대부분 spring bean 은 상태 가 없 기 때문에 어느 정도 bean 도 안전 합 니 다.그러나 bean 이 상태 가 있 으 면(예 를 들 어 view model 대상)개발 자가 스스로 스 레 드 안전 을 확보 해 야 합 니 다.가장 간단 한 것 은 bean 의 역할 도 메 인 을 바 꾸 고'singleton'을'prototype'으로 변경 하 는 것 입 니 다.이렇게 bean 을 요청 하면 new Bean()에 해당 하기 때문에 스 레 드 안전 을 보장 할 수 있 습 니 다.상태 가 있 으 면 데이터 저장 기능 이 있다.상태 가 없 으 면 데 이 터 를 저장 하지 않 습 니 다.
    8.Spring 에서 Bean 의 역할 영역 은 어떤 것들 이 있 나 요?
  • Singleton:Spring IOC 용기 에는 하나의 bean 인 스 턴 스 만 존재 합 니 다.bean 은 단일 모드 로 존재 하 며 시스템 기본 값 입 니 다.
  • Prototype:용기 에서 bean 을 호출 할 때마다 새로운 예 시 를 만 듭 니 다.getBean()은 new Bean()작업 을 수행 하 는 것 과 같 습 니 다.
  • Request:Http 요청 때마다 bean 을 만 듭 니 다.
  • Session:같은 Http Session 에서 bean 인 스 턴 스 를 공유 합 니 다.
  • Global-session:portlet 용기 에 사용 합 니 다.모든 portlet 은 단독 Session 이 있 기 때문에 GlobalSession 은 전체적인 Http Session 을 제공 합 니 다.메모:prototype 역할 영역 을 사용 하려 면 신중 한 사 고 를 해 야 합 니 다.빈 을 자주 만 들 고 없 애 는 것 은 큰 성능 비용 을 가 져 올 수 있 기 때 문 입 니 다.
  • 9.@Qualifier 주석
    같은 유형의 bean 이 여러 개 있 는데 한 개 만 자동 으로 조립 해 야 할 때@Qualifier 주해 와@Autowire 주 해 를 결합 하여 사용 하여 이러한 혼동 을 없 애고 조립 해 야 할 정확 한 bean 을 지정 합 니 다.
    10.@Resource 와@Autowired 주해 의 차 이 는?
  • @Resource 는 기본적으로 이름 에 따라 bean 매 칭 을 하고 지정 한 형식 을 지원 합 니 다.
  • @Autowired 는 기본적으로 유형 에 따라 bean 매 칭 을 합 니 다.이름(by Name)에 따라 조립 하려 면@Qualifier 주석 과 결합 하여 사용 할 수 있 습 니 다.
  • 11.Spring 밑바닥 두 가지 동적 대리 실현 원리 와 차이 점?
  • 피 에이전트 대상 은 JDK 가 제공 하 는 동적 에이전트 인 터 페 이 스 를 실현 해 야 한다.
  • cglib 의 jar 패 키 지 를 통 해 동적 대 리 를 실현 합 니 다.이 방법 은 목표 대상 에 게 만 계승 하면
  • 입 니 다.
    12.Spring 사무 실현 방식 은 어떤 것 이 있 습 니까?
  • 성명 식 사무:성명 식 사무 도 두 가지 실현 방식 이 있 습 니 다.xml 프로필 을 기반 으로 하 는 방식 과 주해 방식(클래스 에@Transaction 주 해 를 추가 합 니 다).
  • 인 코딩 방식:인 코딩 형식 관리 와 유지 보수 업 무 를 제공 합 니 다.
  • 13.Spring 사 무 는 어떤 특성 이 있 습 니까?
    줄 여서 ACID:
  • 원자 성(Atomicity):사 무 는 가장 작은 집행 단위 로 분할 할 수 없습니다.업무 의 원자 성 확보 동작 은 모두 완성 되 거나 전혀 작용 하지 않 는 다.
  • 일치 성(Consistency):업무 수행 전후 데이터 가 일치 합 니 다.
  • 격 리 성(Isolation):데이터 베 이 스 를 동시 방문 할 때 한 사용자 의 사물 은 다른 사물 에 의 해 간섭 되 지 않 고 각 동시 다발 사무 간 데이터 베 이 스 는 독립 적 이다.
  • 지속 성(Durability):하나의 업무 가 제출 된 후.그것 은 데이터베이스 에 있 는 데이터 의 변화 가 오래 지속 되 므 로 데이터베이스 가 고장 이 나 더 라 도 아무런 영향 을 주어 서 는 안 된다.
  • 14.Spring 의 사무 격 리 에 대해 말 해 볼 까요?
    Spring 사 무 는 5 대 격 리 단계 가 있 습 니 다.
  • ISOLATION_DEFAULT:기본 값 으로 바 텀 데이터 베 이 스 를 사용 하여 격 리 단 계 를 설정 합 니 다.데이터 베 이 스 를 설정 하 는 것 이 있 으 면 제 가 사용 하 겠 습 니 다.
  • ISOLATION REAduncommittED:읽 기 를 제출 하지 않 으 면 최저 격 리 단계,사 무 를 제출 하지 않 으 면 다른 사무 에 의 해 읽 힐 수 있 습 니 다(환 독,더러 운 읽 기,중복 읽 을 수 없습니다).
  • ISOLATION READ COMMITTED:읽 기 를 제출 하고 한 사 무 를 제출 해 야 다른 사무 에서 읽 을 수 있 습 니 다(환 독,중복 읽 을 수 없 음).SQL server 의 기본 단계 입 니 다.
  • ISOLATION REPEATABLEREAD:같은 데 이 터 를 여러 번 읽 을 수 있 도록 중복 읽 을 수 있 습 니 다.그 값 은 트 랜 잭 션 시작 시의 내용 과 일치 합 니 다.다른 트 랜 잭 션 에서 제출 하지 않 은 데 이 터 를 읽 는 것 을 금지 합 니 다.MySQL 의 기본 단계 입 니 다.
  • ISOLATION_SERIALIZABLE:직렬 화,대가 가 가장 높 고 신뢰 할 수 있 는 격 리 단계 입 니 다.이 격 리 단 계 는 더러 운 읽 기,중복 읽 기,환 독 을 방지 할 수 있 습 니 다.
  • 15.Spring 과 장물 읽 기,환 독,중복 읽 기 불가?
  • 더러 운 읽 기:한 업무 가 다른 업무 에서 제출 되 지 않 은 데 이 터 를 읽 을 수 있 음 을 나타 낸다.예 를 들 어 어떤 사무 가 기록 A 를 삽입 하려 고 시 도 했 는데 이때 이 사 무 는 아직 제출 되 지 않 았 고 다른 사무 가 기록 A 를 읽 으 려 고 시도 했다.
  • 중복 읽 을 수 없습니다.한 사무 에서 같은 데 이 터 를 여러 번 읽 는 것 을 말 합 니 다.
  • 환 독:같은 사무 에서 여러 번 조회 하여 돌아 오 는 결과 집 이 다르다 는 것 을 말한다.예 를 들 어 같은 사무 A 가 첫 번 째 조회 할 때 n 개의 기록 이 있 지만 두 번 째 똑 같은 조건 에서 조 회 는 n+1 개의 기록 이 있 는데 이것 은 마치 환각 을 일 으 킨 것 같다.환 독 이 발생 한 원인 도 다른 사무 가 첫 번 째 사무 결과 집합 에 있 는 데 이 터 를 추가 하거나 삭제 하거나 수정 한 것 이다.같은 기록 의 데이터 내용 이 수정 되면 모든 데이터 줄 의 기록 이 많아 지 거나 줄어든다.
  • 16.Spring 사무의 전파 행 위 는 어떤 것들 이 있 습 니까?
    Spring 사 무 는 7 대 전파 행위 가 있 습 니 다.
    image.png
    총결산
    이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 실 수 있 기 를 바 랍 니 다!

    좋은 웹페이지 즐겨찾기