본문 바로가기

질문과 답변/Java, Spring

(5)
Java, JVM Java 언어는 컴파일과 인터프리트 과정을 거치게 되는데, 각 과정을 상세히 설명하라더보기개발자가 작성한 소스코드를 자바 컴파일러인 Javac를 통해 바이트코드인 .class 또는 .jar(.class의 묶음)로 변환하는 과정이 자바의 컴파일이다.그리고 이 바이트 코드를 JVM으로 기계어인 Binary Code로 변환하는 과정에서 interpret 과정을 거친다.각 플랫폼, 실행환경에서 맞는 기계어로 변환한다. 컴파일 에러와 런타임 에러에 대해 상세하게 비교 설명하시오더보기컴파일 에러란 컴파일 과정 상에서 일어나는 에러이며,Checked Exception을 처리하지 않을 경우 발생하는 에러이다.소스코드를 통해 byte code를 생성할 때 인지되는 문법 오류와 같은 예시나혹은 IOException이나 S..
Spring, Spring Boot (4) Spring 에 사용된 2개의 아키텍쳐인 MVC 아키텍쳐와 3-Layered 아키텍쳐를 설명하시오더보기Spring MVC 아키텍쳐는 요청의 라우팅과 처리 방식의 연결을 지원합니다.  DispatcherServlet이 HandlerMapping를 통해 매핑한 Controller에게 HandlerAdapter가 해당 controller의 매핑된 메서드의 실행을 위임합니다.이는 Service, Repository를 통해 Model을 형성하고,Model과 Viewname, ViewTemplate을 통해 ViewResolver에서 View를 생성합니다.이를 DispatcherServlet이 반환하는 일련의 과정입니다. 이 때 MVC 아키텍쳐 전체가 Presentation Layer,Service를 통해 비즈니스 ..
Spring, Spring Boot (3) Spring에서 ApplicationContext란 무엇인가?더보기ApplicationContext는 Spring 프레임워크의 IoC Container에서 Bean의 생성, 와이어링, Bean의 구성그리고 Bean과 객체들의 life Cycle을 관리하는 역할을 한다. Spring Bean 과 Servlet 각각 싱글톤으로 관리 된다고 하는데, 왜 그런지 상세히 설명하라더보기1. 대규모 엔터프라이즈 서버 환경은 서버 하나당 최대 초당 수십, 수백 씩 요청을 받는다.2. Spring MVC 구조는 요청에 대한 응답을 만들기까지 다양한 객체들이 참여하는 계층구조 그렇기에 요청이 올 때마다 각 로직의 객체를 새로 만든다면 서버의 부하가 심각➡️ 제한된 객체를 만들도록 싱글턴 사용 권장➡️ IoC방식 중 DI ..
Spring, Spring Boot (2) ModelAndView, ModelMap, Model 3가지의 차이에 대해 설명하라.더보기WAS인 tomcat에서 동적 페이지를 반환하기 위해 사용하는 구현클래스들이다.세 개 모두  ModelAndView는 ModelAndView Bean을 사용하거나 새로 선언한 ModelAndView(개발자가 직접 생성)한 객체에model을 addObject로 집어넣고, view를 setViewName으로 집어넣어서 modelAndView라는 객체에 한 번에 반환 modelMap는 model이되, map 객체이다. 그래서 map의 기능을 사용해 유연하게 model을 담아두고,return을 String : viewname을 반환해서 사용 model은 간단한 데이터 전달에 사용함. 반환은 마찬가지로 String: view..
Spring, Spring Boot (1) Gradle, Maven, Ant 와 같은 것은 무엇이며 이들의 필요성을 설명해 보아라.더보기Java에서 사용되는 빌드 툴이다.컴파일, 테스트, 패키징 후 JAR or WAR 산출, 의존성 관리, 배포 및 배포 전 최적화위의 과정을 자동으로 해주는 빌드 프로세스 도구이다. Intellij 에서 프로젝트를 위한 JDK 버전과 Gradle 을 위한 JDK 버전, 이렇게 두 개로 나눠 존재하는 이유?더보기전자는 프로젝트 실행 환경, 컴파일 때 사용할 자바 버전이고,후자는 빌드를 실행할 때 사용할 자바 버전이다. 실행 환경과 빌드 환경이 다를 수 있기에 나눠서 존재한다. Lombok 은 무엇이며, 어떻게 동작되는것인가?더보기반복적으로 사용되는 메서드들을 어노테이션을 사용해서 따로 정의하지 않고도 사용하게 해주는..