본문 바로가기

Spring Boot7

[Spring Boot] Cookie 웹에서의 네트워크 연결 쿠키에 대해서 알아보기 전에 쿠키가 등장한 배경에 대해서 먼저 알아야 한다. 웹과 서버과 통신을 할 때에는 클라이언트인 웹이 서버의 request를 보내고 서버가 그에 대해서 response를 보내는 형태이다. request를 보낼 때 서버와 연결을 하고 response를 받고 일정 시간이 지난 후 서버와의 연결이 끊어지게 된다. 이 때, 다시 request를 보낼 때 서버와 연결을 다시 하게 되는데, 해당 연결은 이전의 연결과는 독립적인 연결이기 때문에 서버는 request를 보낸 클라이언트가 이전과 같은 클라이어트인지를 모른다( Stateless => client에 대한 정보가 없음 ) 이런 경우에 생기는 문제점으로는 다음의 상황들을 가정해보면 이해하기 쉽다. 쇼핑 웹에서 장바.. 2024. 1. 19.
[Spring Boot] Controller @Controller Controller는 MVC 구조에서 비즈니스 로직을 담당하는 Model과 클라이언트에 화면을 보여주는 View를 연결해주는 역할을 담당한다. 이 때, client의 요청에 따라 적절한 model을 호출하고 그 결과와 함께 view를 반환하여 준다. Spring MVC에선, 클래스에 @Controller annotation을 통해 controller를 생성할 수 있다. 해당 annotation을 붙이게 되면 Spring에선 해당 클래스를 Controller 역할을 하는 Bean 객체로 생성한다. @RequestMapping 이제 Controller 생성하였으니 해당 클래스 내에서 관련 요청(request)를 처리하는 메소드들을 정의해주어야 하는데 이러한 메소드를 handler라고 한.. 2024. 1. 8.
[Spring Boot] 게시판 목록 페이지 Spring MVC에 대해서 알아보았으니 이를 활용하여 게시판의 목록 페이지를 만들면서 직접 Spring Boot를 사용해보겠다. IDE로는 Intellij ultimate을 사용하였고 View를 생성하기 위한 Template Engine으로는 Thymeleaf를 사용하였다. DB 생성 간단한 게시판을 만들기 위해서 필요한 테이블은 하나만 있어도 된다. 후에 파일 첨부, 로그인 등 부가 기능이 추가된다면 테이블이 여러개 필요하지만 간단한 게시판을 만들기 위해서는 Board Table 하나만 생성하겠다. CREATE TABLE board ( id int PRIMARY KEY AUTO_INCREMENT, title varchar(100) NOT NULL, content text NOT NULL, viewCn.. 2024. 1. 8.
[Spring Boot] MVC pattern Spring Boot를 공부하기 위해서 가장 기초적인 게시판을 하나 만들어보면서 Spring Boot의 동작 방식과 구조, 사용방법 등을 자세히 알아보겠다. 먼저, 게시판을 만들기 전에, Spring의 MVC pattern 에 대해서 다루어보겠다. Model & View MVC pattern에서 Model은 데이터를 다루는 비즈니스 로직을 담당한다. 이 외에도 여러개의 데이터 변경 작업을 하나의 작업으로 묶는 transaction을 다루는 일도 한다. 주로 spring 프로젝트에서 DAO ( Data Access Object ) , Sevice 클래스에 해당한다. View 는 model이 처리한 데이터나 그 결과를 가지고 사용자에게 출력할 ( 서버가 응답할 ) 화면을 만드는 작업을 담당한다. view가 .. 2024. 1. 8.
[토비의 스프링] Singleton Registry에 대한 이해 이전 글에서 @Configuration annotation을 사용하여 application context를 사용해보았는데, 이번 글에서는 그 이전에 userDaoFactory를 직접 사용했던 방법과 application context를 사용했던 방식의 차이점을 알아보면서 이를 통해 무엇을 알 수 있는지에 대해 공부하여 보겠다. UserDaoFactory VS Application Context 두 가지 방식은 테스트 결과만 보면 동일하지만, 파고들어보면 중요한 차이점이 있다. 이를 알아보기 위해서, 먼저 UserDaoFactory를 직접 사용했던 방식으로 userDAO 객체를 두 개를 생성해보자. public static void main(String[] args) { UserDaoFactory fact.. 2024. 1. 2.
[토비의 스프링] Application Context에 대한 이해 이전까지 배웠던 것은 스프링이 추구하는 가치를 이해하고 스프링이 그러한 가치를 제공하기 위해 제공하는 기능을 보다 잘 사용하기 위한 사전 지식이다. 관심사를 분리하고 인터페이스를 통해 확장성을 가질 수 있도록 하고 객체의 생성과 관심 설정까지도 factory 클래스에게 맡겨서 코드가 점차 객체지향에 가까워지는 과정을 통해 여러 개념에 대해서 공부하였다. 이번에는 이전의 factory 클래스를 스프링을 사용하여 구현해봄으로써 스프링이 제공하는 강력한 IoC 컨테이너에 대해서 보다 깊게 알아보는 시간을 가지겠다. Application Context이란? Spring의 Application Context를 알기 위해서는 Bean 객체가 무엇인지 알아야 한다. Bean 객체란 단순하게 말하면 컨테이너에 의해 관.. 2023. 11. 27.
[토비의 스프링] 객체 지향에 대한 이해 토비의 스프링을 통해 이해한 내용을 요약하고 정리하기 위한 포스팅이다. 이번 글에서는 객체지향에 대한 이해와 그를 바탕으로 객체 지향에서의 의존성 주입이 왜 중요한지에 대해서 간단하게 알아보겠다. 객체 지향적이지 않은 DAO 객체 지향적이지 않은 DAO(Data Access Object) 코드를 살펴보면서 어떠한 문제가 발생할 수 있는지를 알아보고 해당 문제들을 객체 지향적으로 해결해나가보자. 먼저, 사용자 정보를 저장하기 위한 간단한 User 클래스를 만들자. package com.chapter1.spring.domain; public class User{ int id; String name; String nickName; public int getId() { return id; } public voi.. 2023. 11. 20.
728x90
반응형