spring 6

FrameWork/Spring
ComponentScan

오늘은 컴포넌트 스캔에 대해서 알아보도록 한다.   @ComponentScan컴포넌트 스캔이란 스프링이 @Configuration 에너테이션이 붙은 설정 클래스를 찾은 뒤, 빈을 등록하는 과정에서 @Component 에너테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록해 주는 것을 의미한다.  AutoAppConfig.javaimport org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.FilterType;import static org.springframework.con..

FrameWork/Spring
싱글톤 패턴과 컨테이너

오늘은 싱글톤 패턴과 스프링 컨테이너의 상관관계에 대해서 알아보고자 한다.   싱글톤 패턴디자인패턴 중 하나로, 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴을 의미한다. 아래는 싱글톤 패턴을 구현하는 방법을 코드로 작성한 모습이다.  SingletonPatterns.javapublic class SingletonPatterns { // 1. static 영역에 객체를 딱 1개만 생성한다. private static final SingletonPatterns instance = new SingletonPatterns(); // 2. public으로 열어 객체 인스턴스가 필요하면 이 static 메서드를 통해서만 조회하도록 허용한다. public static ..

FrameWork/Spring
컨테이너에 빈 등록 및 조회

오늘은 스프링 컨테이너에 빈 등록, 조회를 하는 방법에 대해 알아보자. 컨테이너에 빈 등록하기스프링 컨테이너에 빈을 등록하는 방법은 2가지가 있다. @Bean을 통해 직접 등록하는 방법@Configurationpublic class AppConfig { @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); }} @Configuration 구성 정보에 @Bean 어노테이션을 통해 스프링 컨테이너에 직접 빈을 등록할 수 있다. 빈 객체로 등록하고 싶은 메서드 위에 @Bean 어노테이션을 추가해 사용한다.  @ComponentScan을 이용하여 자동으로 빈 등록하는 방법@Confi..

FrameWork/Spring
IoC, DI 컨테이너

오늘은 IoC, DI 컨테이너에 대해서 알아보고자 한다.  IoC, DI 컨테이너를 보기 전, 객체지향부터 확인하기일단 IoC, DI 컨테이너를 보기 전 좋은 객체 지향 설계의 5가지 원칙에 대해 보는 것이 살펴보고 가자.  디자인 패턴과 SOLID 원칙최근 객체 지향 프로그래밍을 자주 하게 되면서 해당 로직이 어떻게 더 깔끔하게 작성할지, 또는 코드의 유지보수성이 잘 되었으면 하는 생각에 여러 주제를 찾아보다가 디자인 패턴을 접하jheaon.tistory.com 객체지향으로 코드를 작성하기 위해서는 다음과 같은 규칙을 따르는 것이 좋다. 역할과 구현을 분리한다.클라이언트는 역할(인터페이스만 알면 된다)클라이언트는 내부 구조와 구조의 변경이 일어나도 영향을 받지 않는다. 클라이언트는 구현 대상 자체를 변..

FrameWork/Spring
Thymeleaf

오늘은 Spring에서 Thymeleaf 라이브러리를 사용하는 방법에 대해 알아보고자 한다.   Thymeleaf타임리프란 템플릿 엔진의 일종으로 html 태그에 속성을 추가하여 페이지를 동적으로 값을 추가하거나 처리 할 수 있도록 만들어주는 Spring 라이브러리를 말한다.  해당 라이브러리를 사용하기 위해서는 Gradle에 아래처럼 라이브러리를 추가해준 다음 빌드 한다.implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'  사용 방법사용예시를 들기 위해 HelloController와 templates폴더 아래 hello.html 파일을 만들어 작동시켜 보았다. 주의 : 스프링부트는 템플릿 의존성 라이브러리를 추가하게 되면 자동..

FrameWork/Spring
MVC Pattern

오늘은 Spring MVC 패턴에 대해 알아보고자 한다.    Spring MVC흔히 말하는 MVC 패턴이란 Model-Veiw-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나를 의미한다.    Model : 데이터와 비즈니스 로직을 담당하며, 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행한다. View : 사용자 인터페이스를 담당한다. 사용자가 보는 화면과 버튼, 폼 디자인을 하고 구현한다. Controller : Model과 View 사이의 상호작용을 조정하고 제어한다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트한다. 여기서 Spring Web MVC는 Servlet API기반으로 구축된 웹 프레임워크로 중앙에 있는..