
스프링부트 강의 2일차에 위 코드로 스프링부트 어플리케이션을 시작하는 법을 배웠습니다. 위 코드가 어떤 동작을 수행하는지 알아보도록 하겠습니다.위 어노테이션을 아래 세 가지 어노테이션을 결합한 것입니다.@Configuration : 해당 클래스가 Spring의 설정 클

Inversion of Control한글로 번역하면 '제어의 역전'으로 변역이 가능한데, 정확히 어떤 제어의 역전을 의미하는 것일까요? 제어의 역전을 설명할 때 "Don't call us. We'll call you." - Hollywood Principle 라는 비유

Aspect Oriented Programming(관점 지향 프로그래밍)OOP(Object Oriented Programming)으로 처리하기에는 다소 까다로운 부분을 AOP를 도입하여 쉽게 해결할 수 있기 때문에 등장한 개념입니다. 한 마디로 표현하자면 "공통적인 부

개발자는 값에 대한 검증을 여러 방면에서 수행해야 합니다.필수 데이터의 존재 여부문자열의 길이나 숫자형 데이터의 경우 값의 범위email, 신용카드 번호 등 특정 형식에 맞춘 데이터서비스 정책에 따라 데이터를 확인하여 검증경우에 따라 외부 api를 호출하거나 DB의 데

SpEL은 짧고 간단한 문법을 통해 필요한 데이터나 설정 값을 얻어올 수 있게 하는 특별한 형태의 표현식에 가까운 간편한 언어입니다. 바로 예시 코드를 살펴 보겠습니다.코드를 보면 "" 내부의 문자가 코드로써 동작한 모습을 확인할 수 있습니다. 그럼 실무에서는 어떤 식

@EnableJpaAuditing 어노테이션은 Spring Boot 애플리케이션에서 JPA Auditing을 활성화하는 데 사용됩니다. 아직 Config 파일을 작성해 보지 않아서 아래와 같이 SpringApplication 시작점에 어노테이션을 붙여 보았습니다.@En

final 키워드 final 키워드는 특정 변수, 메서드, 또는 클래스가 변경되지 않도록 제한하는 역할을 합니다. 변수에 사용될 때: final로 선언한 변수는 초기화 후에 다시 값을 변경할 수 없습니다. 지역 변수에 붙는다면 초기화 후 값을 변경하지 못하도록 하고

@Transactional은 Spring Framework에서 트랜잭션을 관리하기 위해 사용되는 어노테이션으로, 데이터베이스 작업을 포함한 메서드 실행을 트랜잭션 단위로 관리할 수 있게 됩니다. 보통 Service 객체의 메서드에서 데이터베이스 작업을 하기 때문에 Se

TransactionInterceptor는 AOP 어드바이스로, 트랜잭션 시작, 커밋, 롤백 등의 트랜잭션 관리 작업을 처리합니다. 이 인터셉터는 MethodInvocation을 가로채고, 트랜잭션의 시작과 종료를 관리하는 책임을 집니다.TransactionManage

@ExceptionHandler는 Spring MVC 컨트롤러에서 발생하는 예외를 처리하기 위해 사용할 수 있습니다. 예외 발생 시, 사용자에게 적절한 응답을 반환할 수 있도록 도와줍니다. 예제 코드로 살펴보겠습니다.RuntimeException을 상속받는 Resour

JUnit은 자바 프로그래밍 언어에서 단위 테스트를 작성하고 실행하기 위한 오픈소스 프레임워크입니다. 애플리케이션의 개별 구성 요소(주로 메서드)를 테스트하여 구성 요소가 올바르게 동작하는지 검증하는 과정을 돕습니다.주요 특징테스트 자동화테스트를 자동으로 수행해 준다는

패스트 캠퍼스 김은호 강사님 강의를 듣다가 테스트 함수의 이름을 작성하는 나름의 규칙을 가지고 계신 것 같아 JUnit Test Function Naming Convention에 대해 알아보는 포스팅을 작성해 보겠습니다.네이밍 규칙의 Best Practice는 http

위 코드는 BubbleSort를 사용하는 Main 함수의 코드입니다. 만약에, 버블 소트를 사용하지 말라는 요구사항이 발생하면 어떻게 해야 할까요? 현재로써는 Main 클래스 내에서 BubbleSort 클래스를 선언하는 부분을 수정해야만 합니다. 이런 경우를Main 클

이전에 작성한 자바 클래스 간의 강결합을 느슨하게 바꾸기 포스팅에서는 자바 클래스 간의 강결합을 느슨하게 하는 방법을 살펴보았습니다(서비스의 분리, 의존성 주입 등을 사용해서). 이번 포스팅에서는 Spring Framework의 도움을 받으면 코드가 얼마나 더 간결해질

스프링 부트의 기본 기능 전체를 튜닝하는 부트 전용 설정 프로퍼티입니다. application.properties, application.yml 파일로 저장하여 여러 설정들을 제어하게 되는데, 오늘은 그 기본을 알아보겠습니다.데이터베이스 연결 정보, 포트 번호, 로깅

패스트캠퍼스 김은호 강사님께서 @Component와 @Configuration의 사용 용도를 정확히 알아두는 것이 좋다고 하셔서, 강의 내용을 이해한대로 정리해 보도록 하겠습니다."이 클래스는 커스텀 빈이다."컴포넌트는 클래스에 붙어서 클래스를 커스텀 빈으로 만들어주는

@Controller의 핸들러 메소드가 주로 반환하는 반환형은 어떤 것들이 있는지 살펴보고, ModelAndView 반환형과 타임리프 템플릿에 대해서 가볍게 알아도보록 하겠습니다.주로 View의 이름을 반환하는 용도로 사용됩니다.실습해보지는 않았지만, View Reso