스프링 4

스프링 빈 스코프 prototype와 singleton의 차이

클래스 인스턴스 초기화를 할 때 호출할 initMethod()와 destroyMethod()를 만들어 놓았고, applicationContext.xml 파일에 bean을 등록하는 상황에서 init-method, destroy-method 속성 값으로 콜백 될 메서드를 넣어주었다. 스코프를 singleton으로 설정한 것과 prototype으로 설정한 것을 비교하는 상황이었다. singleton은 간단하게 하나의 객체만 생성이 되도록 해주는 것이니 아래처럼 작성했더라도 하나의 빈을 반환한다. 이와 다르게 prototype은 불릴 때마다 새로운 빈을 생성하여 init 메소드가 3번이 불리는 것을 볼 수 있다. 그런데 여기서 궁금증이 생겼다. init 메소드는 실행이 되었는데, destroy 메소드는 어디에...

지식 2024.10.14

[인텔리제이] 프로젝트 빌드 오류, 빌드 안됨

[문제] 간혹 인텔리제이에서 프로젝트를 생성하다가 문제가 생겼을 때 프로젝트를 열면, 폴더에 분명 src 등 모두 있는데 프로젝트에는 보이지 않고 .gitignore와 pom.xml 파일만 보이는 경우가 있었다. [해결] 햄버거 -> 파일 -> 프로젝트 구조 클릭. 좌측 모듈 -> + 버튼 클릭 -> 모듈 가져오기 클릭. 사용하려는 프로젝트 선택 후 하단의 확인 버튼 클릭.. 외부 모델에서 모듈 가져오기 클릭, Maven (Maven 프로젝트일 경우) 클릭하고 하단의 생성 버튼 클릭. 그러면 이렇게 제대로 빌드가 된 것을 확인할 수 있다.

error 2024.10.01

[Spring] 인텔리제이 스프링 프로젝트 실행

인텔리제이를 사용하게 되어 스프링 프로젝트 실행까지를 정리해 본다. 우선 인텔리제이 홈페이지에서 다운로드 페이지에 들어가면 Ultimate가 나오는데 그건 유료고, 커서를 조금 내려보면 Community Edition이 있으니 이것을 다운 받으면 된다. 설치 후 실행하면 아래처럼 나오는데, 새 프로젝트를 선택한다. 좌측의 Maven 원형 클릭하고, 프로젝트 이름, 위치, JDK 버전을 확인해주고, Archetype에서 quickstart를 선택해 주고 생성 버튼 클릭. 프로젝트가 다 설치되고 나면 아래와 같이 폴더를 만들어 경로를 설정해준다. pom.xml 파일에 추가할 의존성을 추가해 주고, 우측 상단의 Maven 변경 내용 로드 버튼( Ctrl + Shift + O ) 클릭. 4.0.0 org.e..

Spring 2024.09.25

Spring MVC 수행 흐름

대부분의 MVC 프레임워크는 비슷한 구조를 가지고 있는데 그 중 Spring MVC에 대해 알아보자. 1. 클라이언트로부터의 모든 ".do" 요청을 DispatcherServlet이 받는다. 2. DispatcherServlet은 HandlerMapping을 통해 요청을 처리할 Controller를 검색한다. 3. DispatcherServlet은 검색된 Controller를 실행하여 클라이언트의 요청을 처리한다. 4. Controller는 비즈니스 로직의 수행 결과로 얻어낸 Model 정보와 Model을 보여줄 View 정보를 ModelAndView 객체에 저장하여 리턴한다. 5. DispatcherServlet은 ModelAndView로부터 View 정보를 추출하고, ViewResolver를 이용하여..

지식 2024.01.15