해당 글은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스라는 책을 읽고 핵심 내용을 정리하기 위해 작성하는 글입니다. 02장 스프링 부트에서 테스트 코드를 작성하자 1️⃣ 테스트 코드는 왜 작성해야 할까? 개발단계 초기에 문제를 발견하게 도와준다. 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다. 기능에 대한 불확실성을 감소시킬 수 있다. 시스템에 대한 실제 문제를 제공한다. 즉, 단위 테스트 자체가 문서로 사용할 수 있다. 2️⃣ 주요 Annotation 설명 @SpringBootApplication 스프링 부트의 자동 설정, 스프링 Bean 읽기와 생성을 모두 자동으로 설정. 해당 어노테이션이 있는 위치부터 설정을 읽어가기 때문에 항..
해당 게시글은 생활코딩 JAVA1 강의를 기반으로 하며, 이에 필자의 생각을 추가해 작성한 글이다. 참고로 필자는 지금까지 Cpp, Python을 위주로 공부해온 사람이다. 🔍 Hello World 출력하기 모든 언어의 기초가 되는 Hello World 출력을 JAVA로 해보려고 한다! JAVA에서는 아래 코드와 같이 Hello World를 출력할 수 있다. (참고로 sout을 치고 Tab을 누르면 출력 코드를 편하게 작성할 수 있다.) C++에서 main 함수를 쓰는 것과 같이 정형화 된 문법인 거 같다. public class HelloWorldApp{ public static void main(String[] args){ System.out.println("Hello World!!"); } } 위 ..
💡 JAVA 클래스명과 파일명은 왜 같아야 하는가? 이는 다음과 같은 이유가 있다고 한다. Java 프로그램을 작성할 때는 .java 파일로 저장되지만 컴파일 될 때는 .class 파일인 바이트 코드를 형성한다. 따라서 클래스 이름을 파일명과 동일하게 만들면 모호함이 사라진다는 것이다. JVM이 해당 클래스를 진입점으로 인식해야 하기 때문이다. 이때 JVM은 Java Virtual Machine의 줄임말로 OS에 종속받지 않고 CPU가 JAVA를 인식/실행할 수 있게 하는 가상 컴퓨터이다. 만약 이름이 다르다면, 소스 파일에 class가 하나 이상인 경우 JAVA 인터프리터가 해석해야 하는 class와 프로그램의 진입점을 포함하는 class를 쉽게 인식할 수 없다. 하지만 클래스가 public이 아닌 경..
Spring Initializr를 통해 Spring 프로젝트 파일을 생성하고, build.gradle을 실행하면 다음과 같은 오류가 발생할 때가 있다. A problem occurred configuring root project '...' 이유는 Spring boot 3.x 버전은 JAVA 17부터 지원을 하는데, IntelliJ에서 JAVA 버전이 11로 설정되어 있었기 때문이다. 다음과 같이 설정을 변경함으로써 에러를 해결할 수 있었다. Ctrl+Shift+Alt+S를 눌러 JAVA를 17로 변경 File > Settings > Build, Execution, Deployment > Build Tools > Gradle에서 Gradle JVM의 버전을 JAVA 17로 변경