본문 바로가기
728x90

분류 전체보기159

Thymeleaf에 대한 정리 글을 쓰는 목적에 대해서 이번 글은 thymeleaf의 기본 사용 방법과 특징 등 다양한 정보를 정리하기 위해 작성하게 되었습니다. 글의 내용은 thymeleaf 공식 문서와 김영한 님의 "스프링 MVC 2편 - 백엔드 웹 개발 활용 기술" 강의에서 들은 내용을 기반으로 작성했으며, 추후에 thymeleaf를 사용하면서 내용을 개선해 나갈 예정입니다. 따라서 아래에 작성된 글의 내용 중 틀린 부분이 있을 수도 있어, 그러한 부분을 편하게 지적해주시면 감사할 것 같습니다. Thymeleaf의 특징 https://www.thymeleaf.org/ Thymeleaf Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming .. 2023. 7. 28.
Java의 Exception에 대해서 이번 글에서는 Java에서 예외 처리 방식을 어떻게 가져가는지에 대한 내용을 다루어 보려고 합니다. 요즈음 개발을 하면서 예외 처리 방식에 대해 공부의 필요성을 느껴 간단히 정리했던 부분이기도 하고, 김영한 님 강의에서는 한 파트를 따로 빼서 설명을 해주셔서 내용을 취합해서 정리해보려 합니다. 글에서 등장하는 개념은 주로 김영한님의 Spring DB 1편 강의를 참고했습니다. Exception 계층 구조 우선 자바의 예외 계층은 다음 구조도와 같이 구분됩니다. 예외 관련 객체들 역시 최상위 객체인 Object 객체를 상속받고 있으며, 그 아래에 Throwable 객체가 있음을 확인할 수 있습니다. Throwable class는 모든 예외들의 조상으로 getMessage, printStackTrace 등 .. 2023. 7. 5.
ApplicationRunner interface에 대한 정리 들어가며... 이번 글은 기존에 schema.sql 파일에 저장되어 있는 기본 데이터 import 부분을 ApplicationRunner라는 일종의 spring boot 프로젝트 실행 시점에 실행되는 initializer를 이용해 개발하는 업무를 담당하게 되어, ApplicationRunner라는 것이 도대체 무엇인지를 먼저 파악하기 위해 작성한다. ApplicationRunner interface는 일종의 initializer ApplicationRunner는 'org.springframework.boot' package에 포함되며, Spring Boot application이 시작되는 시점에 몇 가지 특정 작업을 수행하기 위해서 사용할 수 있다고 한다. 즉, 애플리케이션의 시작 단계에 코드를 실행하기.. 2023. 6. 8.
Spring-Boot multi-module setting MSA는 여러 개의 모듈이 협력해 하나의 큰 기능을 수행하는 형태 MSA(Micro-Service Architecture)는 다른 것이 아니라 독립적으로 배포 가능한 여러 개의 모듈이 복합적으로 동작해서 하나의 큰 기능을 수행하는 서비스 형태를 의미한다고 이해했다. (명확한 사회적 합의에 따른 정의가 별도로 존재하지 않는다) MSA와 대비되는 개념으로는 Monolithic Architecture(모놀리식 아키텍쳐)가 존재하는데, 이 개념은 면접 질문으로도 나왔던 개념으로 소프트웨어의 모든 구성 요소가 하나의 프로젝트로 통합된 형태를 의미한다. 두 아키텍쳐 각각의 장단점이 있지만, 이 글에서는 SpringBoot로 빌드하는 프로젝트에서 MSA와 같이 multi-module project 구조를 만드는 과정.. 2023. 5. 23.
[Spring MVC] 기본 기능 Logging 이제 System.out.println() method 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 로거를 사용하자. SLF4J SLF4J Simple Logging Facade for Java (SLF4J) The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framewor www.slf4j.org Logback Logback Home Logback Proj.. 2023. 5. 20.
Builder Pattern (빌더 패턴) Builder Pattern 빌더 패턴은 creational design pattern의 일종으로 복잡한 객체를 유연하게 생성할 수 있는 방법을 제공한다. 먼저 빌더 패턴을 적용한 객체의 생성을 코드로 정리한다. public class Car { private String brand; private String model; private int year; // 생성자의 접근 권한을 private으로 제한하여, Builder에서만 접근할 수 있도록 한다. private Car(Builder builder){ this.brand = builder.brand; this.model = builder.model; this.year = builder.year; } // Builder class를 static nes.. 2023. 5. 18.
728x90