FrameWork

FrameWork/Spring

연관관계

오늘은 연관관계에 대해서 알아보고자 한다.   연관관계연관관계란 객체와 데이터베이스 테이블을 서로 매핑(매칭)시켜주는 것을 의미한다.  방향객체들이 연관관계를 맺을 때, 한쪽에서만 참조가 가능한지 양방향에서 참조가 가능한지에 대한 방향을 의미한다. 일반적으로 DB테이블간에는 어떤 테이블을 기준으로 하든 원하는 정보를 JOIN을 사용하여 조회가 가능하기 때문에 방향이라는 개념이 없지만, 객체 지향에서는 다른 객체에서 또 다른 객체를 조회하기 위해서 조회하고자 하는 객체의 정보를 가지고 있지 않으면 조회가 불가능하기 때문에 조회를 하기 위해서 방향을 설정해주는 것이 중요하다.  단방향 : 객체들이 연관관계를 맺을 때, 한쪽에서만 참조 가능한 경우 양방향 : 객체들이 연관관계를 맺을 때, 양쪽에서 참조 가능한..

FrameWork/Spring

RestTemplate

오늘은 ResetTemplate에 대해서 알아보고자 한다.   RestTemplateRestTemplate은 Spring Framework에서 Restful HTTP 요청을 위해 제공하는 클래스이다. 주로 아래와 같은 상황때 사용한다. Spring Boot 애플리케이션이 외부 RESTful API와 상호작용해야 할 경우다양한 목적으로 다른 웹 서비스의 데이터를 가져와야할 경우복잡한 구성없이 HTTP 클라이언트를 구축하는 간단한 효율적인 방법을 원하는 경우 작동은 다음과 같이 진행된다. 1. 어플리케이션이 RestTemplate을 생성하고, URI, HTTP 메소드 등을 헤더를 담아 요청한다.2. RestTemplate는 HttpMessageConverter을 사용하여 requestEntity를 요청 메세..

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

JDBC (내용 추가 예정)

오늘은 JDBC에 대해서 알아보고자 한다.  JDBC JDBC(Java Database Connectivity)로 DB에 접근할 수 있도록 Java에서 제공하는 API을 말한다.JDBC에 연결해야하는 DB의 JDBC 드라이버를 제공하면 DB연결 로직을 변경할 필요없이 DB변경이 가능하다.     JDCB Template JDBC의 등장으로 손쉽게 DB교체가 가능해졌지만 아직도 DB에 연결하기 위해 여러가지 작업 로직들을 직접 작성해야한다는 불편함을 해결하기 위해 커넥션 연결, statement 준비 및 실행, 커넥션 종료 등의 반복적이고 중복되는 작업들을 대신 처리해주는 JdbcTemplate이 만들어 졌다.

FrameWork/Spring

Controller

오늘은 Spring Controller을 다루는 법에 대해서 정리해보고자 한다.   ControllerMVC 패턴과 내용이 이어집니다 참고하세요 :) MVC Pattern오늘은 Spring MVC 패턴에 대해 알아보고자 한다.    Spring MVC흔히 말하는 MVC 패턴이란 Model-Veiw-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나를 의미한다.    Model : 데이터와 비즈니스 로jheaon.tistory.com Spring Controller에서 정적페이지와 동적페이지를 처리할 수 있다.  정적페이지정적페이지 같은 경우 말 그대로 html을 그대로 클라이언트에게 넘겨주는 경우이다. SpringBoot서버에 html파일을 요청하면 해당 html 파일을 static 폴더에서 ..

JHeaon
'FrameWork' 카테고리의 글 목록