본문 바로가기

Spring Framework6

JSP와 Thymeleaf 선택할 때 스프링 부트의 장점은 jar 패키지를 이용해 서버와 웹 애플리케이션을 한번에 실행할 수 있다는 점이다. 하지만 jar 패키지를 사용하면 스프링 부트에서 JSP를 사용할 수 없다. 따라서 JSP를 사용하면 war 패키지를 사용해야 한다. 스프링 부트의 장점을 최대한 살리기 위해서는 jar 패키지가 적합하고, 커스텀 태그 기반보다는 HTML 속성 기 반으로 동작하는 타임리프가 스프링 개발에 더 효율적이다. JSP는 별도의 설정이 필요하지만 타임리프는 pom.xml에 추가만 하면 바로 사용할 수 있다. 2023. 12. 5.
Spring Framework-어노테이션 기반 설정 대부분의 프레임워크가 그렇듯이 스프링 프레임워크 역시 XML 설정이 매우 중요하다. 그만큼 XML 파일의 과도한 설정에 대한 부담도 크며, 이로 인해 프레임워크 사용을 꺼리기도 한다. 따라서 대부분 프레임워크는 어노테이션을 이용한 설정을 지원하고 있다. 1. context 네임스페이스 추가 2. 컴포넌트 스캔(component-scan) 설정 3. @Component context 네임스페이스 추가 어노테이션 설정을 추가하려면 스프링 설정 파일의 루트 엘리먼트인 에 context 관련 네임스페이스와 스키마 문서의 위치를 등록해야 한다. 이는 p 네임스페이스를 추가했을 때처럼 [Namespaces] 탭을 선택하고 'context' 항목만 체크하면 간단하게 추가할 수 있다. 컴포넌트 스캔(component-.. 2023. 8. 17.
Spring Framwork-의존성 주입 스프링의 의존성 관리 방법 스프링 프레임워크의 가장 중요한 특징은 객체의 생성과 의존관계를 컨테이너가 자동으로 관리한다는 점이다. 이것이 바로 스프링 IoC(제어의 역전)의 핵심 원리이기도 한다. 스프링은 Dependency Lookup, Dependency Injection의 두가지 형태로 IoC를 지원한다. Dependency Lookup 저장소에 있는 Bean에 접근하기 위해 개발자가 컨테이너에서 제공하는 API를 이용해 Bean을 찾는 방식이다. 컨테이너에 대한 의존성이 커지고 불필요한 코드 사용이 증가한다는 단점이 있다. 지금까지 우리가 컨테이너를 사용해왔던 방법이지만 실제 애플리케이션 개발 과정에서는 사용하지 않으며, 대부분 Dependency Injection을 사용하여 개발한다. Depen.. 2023. 8. 17.
Spring Framework - 스프링 컨테이너 및 설정파일 대부분의 IoC 컨테이너는 각 컨테이너에서 관리할 객체들을 위한 별도의 설정파일이 있다. Servlet 컨테이너는 web.xml 파일에 해당 컨테이너가 생성하고 관리할 클래스들을 등록한다. 스프링 프레임워크도 다른 컨테이너와 마찬가지로 자신이 관리할 클래스들이 등록된 XML 설정 파일이 필요하다. 1. 스프링 IoC 시작하기 /src/main/resources/applicationContext.xml 파일을 생성한다. 기본으로 루트 엘리먼트와 네임 스페이스 관련 설정들이 정의되어야 한다. 엘리멘트에서 가장 중요한 것은 class 속성값인데, 여기에 패키지 경로가 포함된 전체 클래스 명으로 지정해야 한다. 2. 스프링 컨테이너 구동 및 테스트 - 클라이언트가 스프링 설정 파일을 로딩하여 컨테이너를 구동한다.. 2023. 8. 17.