Spring Boot (+ RESTful) 38

Spring Boot - H2 Database - DB 연결 / Entity / Hibernate / Lombok

Spring Boot EFA를 도식화해서 보여주고 있다.R-DBMS 에 MySQL 이라고 되어 있지만, 여기서는 H2 Database를 연결했다. H2 DB를 설치하고나서, DBMS가 H2 DB를 사용하겠다는 것.관계형 DB 이기 때문에 table 단위로 데이터 저장할 것이다.DBMS에 직접 table 을 만드는 것은 아니고,JPA 를 이용하게 되면은, Entity 객체, VO 같은 객체를spring data JPA에서 제공해주는 ORM Mapping 통해서Object 를 하나의 Relational (Table - 관계형 데이터베이스에서는 Table 이라는 말 대신에 Relational 이라고도 함)즉, Object 를  ORM Mapping 을 통해서 Table 로 자동으로 만드는 방법이 Hiberna..

Spring Boot - POJO = Controller? / 3-tier Architecture /

Spring Boot에서 POJO와 Controller는 같은 것이 아닙니다. 이 둘은 서로 다른 개념을 가지며, 역할도 다릅니다. 각각의 정의와 차이점을 이해하는 것이 중요합니다.POJO (Plain Old Java Object)정의:POJO는 단순히 "기본적인" 자바 객체를 의미합니다.특정 프레임워크나 기술에 종속되지 않는, 최소한의 코드로 구성된 클래스를 말합니다.주로 데이터 저장, 비즈니스 로직, 서비스 로직 등을 처리하기 위해 사용됩니다.특징:Java 표준 클래스로 작성됨.상속이나 인터페이스 구현을 강제하지 않음.종속성을 최소화하여 재사용성이 높음.예제: public class User { private String name; private int age; // Construct..

Spring Boot - @EnableAutoConfiguration의 동작 원리 / @ComponentScan의 동작 원리

@SpringBootApplication 어노테이션은- @SpringBootConfiguration- @EnableAutoConfiguration- @ComponentScan을 결합한 것이라고 했다. 이제 EnableAutoConfiguration을 알아보자.- @SpringBootConfiguration 의 경우에는 Web 하고는 관련이 없었다.Spring Web MVC 에서 중요한 건 FrontController, HandlerMapping, ViewResolver 등즉, Web에서 사용할 수 있는 미리 만들어져 있는 클래스들을 메모리(Spring Container)에 올려야 한다.그런 애들을 어떻게 올리냐, @EnableAutoConfiguration 을 통해서 올린다. 자동으로 환경 구성을 할 수..

Spring Boot - Application 실행하기 / Spring Boot 동작 원리 / Spring Boot의 Annotation / @SpringBootConfiguration 의 상세 원리

프로젝트 생성시 지정한 Package에"프로젝트이름(Artifact) + Application" 형태의 자바 어플리케이션이 만들어진다. 이번에는 IntelliJ 에서 진행해보고자 한다. 나는 분명 Artifact 에 HelloBoot 라고 입력했는데, 만들어진 main class의 이름을 보면,HelloBootApplication 이라고 나와있다. 일단, 이렇게 어플리케이션 open을 하고나면은 Java version check 부터 해보자. 확인했으니 이제 run 도 해보자.run 해보고 나서 웹에서도 확인해보자.그리고 뭔가 만들어놓은게 없으니 만들어야 한다.Controller, templates/index.html 을 만들어주자. Spring Boot 애플리케이션의 동작 원리는 다양한 구성 요소가 유..

Spring Boot - 개발환경 설정 / 개발 툴 / Spring Initializr 초기화 활용 /

OpenJDK 17버전 다운로드 후에 폴더 생성해서 넣어주고 내 PC - 우클릭 후 속성 - 고급 시스템 설정 - 환경 변수 - 시스템 변수에서 JAVA_HOME 설정을 해줘야 한다. 그런데, 지난번에 Java 공부를 하면서, 이미 설정을 했었는데 그때는 JDK 11 버전이었다.어쨌든, 이번에는 17이고 폴더 위치가 다르니까 옮겨주자.그리고나서 Path 도 변경을 해줘야 한다.JAVA_HOME 설정을 변경해주고 나서 밑에 내려보면 Path 도 찾을 수 있다.그리고 Path는 JAVA_HOME 의 bin 으로 잡아주자. 제대로 설정이 되었는지 확인까지 완료!Spring 개발 tool 로는, intellij, sts(eclipse), 전자정부 eclipse, vs code 가 있다.spring.io 라는 사..

Spring Boot - 기본값과 구성 규칙에 대한 Spring Boot의 고유한 접근 방식

Spring Boot의 **기본값(Default Values)**과 **구성 규칙(Configuration Rules)**에 대한 고유한 접근 방식은 **"설정보다 관례(Convention over Configuration)"**라는 철학에 기반하고 있어. 이 접근 방식은 개발자가 최소한의 설정으로도 애플리케이션을 빠르게 실행하고 동작시킬 수 있도록 돕는 것이 핵심이야.아래에서 Spring Boot의 기본값과 구성 규칙을 단계적으로 상세히 설명할게.1. Spring Boot의 기본값(Default Values)Spring Boot는 많은 기능에 대해 합리적인 기본값을 제공해.이 기본값은 대부분의 애플리케이션에서 공통적으로 사용될 만한 값으로 설정되어 있어, 개발자가 초기 설정에 많은 시간을 들이지 않아도..

Spring Boot - Spring Boot 소개 / 변천사에 대한 간단한 이해 / Spring Framework /

spring boot가 뭐야? 소개를 좀 해줄 수 있어? 개발자 공부를 이제 막 시작한 입문자라고 생각하고 대답을 해 Spring Boot는 자바(Java)로 웹 애플리케이션이나 백엔드 서버를 빠르고 쉽게 개발할 수 있도록 도와주는 프레임워크(framework)야.1. 프레임워크란?프레임워크는 "요리 레시피" 같은 거야. 만약 어떤 요리를 처음 만들어본다고 생각해 보자. 어디서부터 시작해야 할지 모르겠고, 잘못하면 요리가 엉망이 될 수 있지?프레임워크는 그런 과정을 쉽게 만들어주는 틀이야.Spring Boot는 자바로 개발을 시작할 때 필요한 기본적인 구조와 기능을 제공해줘.2. Spring Boot가 왜 만들어졌을까?원래는 Spring Framework라는 걸 많이 썼어.그런데 Spring Framew..