@SpringBootApplication은 스프링 부트 애플리케이션의 시작점에 붙는 어노테이션입니다. 이 어노테이션은 여러 기능을 포함하고 있습니다.구성: @SpringBootApplication은 사실 @SpringBootConfiguration, @EnableAut
CommandLineRunner 인터페이스는 스프링 부트 애플리케이션이 시작된 후 자동으로 실행할 로직을 정의할 수 있는 인터페이스입니다. 애플리케이션이 실행될 때 초기화 작업이나 설정 작업을 자동으로 수행하고 싶을 때 자주 사용됩니다.실행 시점: 스프링 부트 애플리케
정의:DI는 클래스의 의존성을 해당 클래스가 직접 처리하는 대신, Spring IoC 컨테이너가 생성 및 관리하도록 위임하는 디자인 패턴입니다. 이를 통해 클래스와 의존성 간의 결합도가 낮아지고, 시스템이 더 모듈화되고 테스트하기 쉬워집니다.IoC(Inversion o

AOP Concepts :: Spring FrameworkSpring AOP(Aspect-Oriented Programming)는 스프링 프레임워크에서 제공하는 관점 지향 프로그래밍 기능으로, 주로 공통 기능을 애플리케이션 코드와 분리하여 재사용성을 높이고 코드의 중복
스프링 AOP에서 포인트컷(Pointcut) 표현식은 특정 조건에 따라 어드바이스(Advice)가 적용될 메서드를 필터링하는 데 사용됩니다. 포인트컷 표현식을 통해 클래스나 메서드 이름, 매개변수, 접근 제어자 등에 따라 어드바이스가 적용될 메서드를 지정할 수 있습니다
AOP는 문제를 바라보는 관점을 기준으로 프로그래밍하는 기법입니다. 이를 통해 핵심 관심 사항과 공통 관심 사항을 분리하여 각각의 역할에 집중할 수 있습니다. 예를 들어, 로깅, 보안, 트랜잭션 관리 등 여러 메서드나 클래스에 걸쳐 반복적으로 발생하는 "공통 관심 사항
Spring Boot는 Spring Framework를 기반으로 한 어플리케이션 프레임워크로, 개발자가 최소한의 설정만으로 애플리케이션을 빠르게 개발할 수 있도록 도와줍니다. Spring Boot를 사용하면 자동 설정 기능, 내장 서버 지원, 종속성 관리 등으로 인해
SpringApplication :: Spring Boot(https://docs.spring.io/spring-boot/reference/features/spring-application.html스프링 부트 애플리케이션을 IntelliJ IDEA Ultima
SpringApplication :: Spring Boot(https://docs.spring.io/spring-boot/reference/features/spring-application.html스프링 부트의 SpringApplication 이벤트 리스너는
스프링 부트에서 커스텀 프로퍼티 파일을 사용하면, application.properties 외에 추가로 설정 파일을 분리하여 환경 설정을 관리할 수 있습니다. 이를 통해 특정 기능별로 설정 파일을 관리하거나, 환경별 설정을 명확하게 구분할 수 있습니다.우선, data.
스프링 부트의 application.properties 파일은 애플리케이션의 설정을 관리하는 기본 구성 파일입니다. 이 파일을 사용하면 데이터베이스 연결, 포트 설정, 로깅 레벨, 프로파일, 캐시 설정 등 애플리케이션의 다양한 환경 설정을 쉽게 관리할 수 있습니다. a
Logging :: Spring Boot(https://docs.spring.io/spring-boot/reference/features/logging.html스프링 부트는 기본적으로 로깅(logging) 설정을 자동으로 제공하여 애플리케이션의 로그를 쉽게 관
Spring Boot는 애플리케이션의 설정 및 실행을 단순화합니다. 이를 위해 제공되는 핵심 요소는 다음과 같습니다:Spring Boot에서 애플리케이션의 시작 클래스를 지정하는 어노테이션입니다.내부적으로 @Configuration, @EnableAutoConfigur
SQL Databases :: Spring BootSpring Boot 프로젝트의 build.gradle 또는 pom.xml 파일에 필요한 의존성을 추가합니다.MariaDB 데이터베이스 연결 정보를 설정합니다.Spring Boot에서 DataSource는 데이터베이스
SQL Databases :: Spring Boot(https://docs.spring.io/spring-boot/reference/data/sql.html\[Class JdbcTemplate](https://docs.spring.io/spring-f
Spring Framework의 JdbcTemplate은 데이터베이스 작업을 단순화하고 반복적인 코드를 제거하여 SQL 중심의 데이터 액세스를 쉽게 해주는 클래스입니다. JDBC API를 캡슐화하여 사용자가 직접 연결(Connection) 객체를 생성하거나 자원을 정리
다중 데이터베이스 연결은 하나의 애플리케이션이 두 개 이상의 데이터베이스와 상호작용해야 할 때 사용됩니다. 주로 데이터 이동(백업/복제), 다중 시스템 연동, 또는 분산 데이터베이스 시스템에서 활용됩니다.Spring Boot는 멀티 데이터 소스를 지원하며, 이를 설정하
RowMapperBeanPropertyRowMapperRowMapper는 스프링 JDBC에서 제공하는 인터페이스로, SQL 결과(ResultSet)를 Java 객체로 매핑하는 데 사용됩니다. 데이터베이스의 결과를 특정 자바 객체로 변환하기 위해 사용되며, SELECT
mybatis – 마이바티스 3 | 소개mybatis – 마이바티스 3 | 매퍼 XML 파일MyBatis는 자바 애플리케이션에서 관계형 데이터베이스와의 상호작용을 단순화하는 SQL 매핑 프레임워크입니다. SQL을 코드와 분리해 XML 또는 애노테이션으로 관리하며, JD

SqlSession은 MyBatis의 핵심 객체로, 데이터베이스 작업(SQL 실행, 트랜잭션 관리 등)을 담당합니다.역할:SQL 실행: SELECT, INSERT, UPDATE, DELETE 쿼리를 실행합니다.트랜잭션 관리: 데이터베이스 작업의 시작과 종료를 관리합니다

Mapper XML 파일MyBatis의 Mapper XML은 SQL 쿼리를 작성하고, 데이터베이스 결과를 자바 객체로 매핑하는 중요한 역할을 합니다. 처음 시작하는 사람이 Mapper XML을 이해하고 멘탈 모델을 형성하기 위해서는 구조, 기본 구성 요소, 매핑 원리,
MyBatis는 SQL과 Java 객체 간 매핑을 제공하는 프레임워크입니다. SQL 쿼리를 XML 또는 어노테이션으로 관리하며, 개발자는 SQL 쿼리를 더 명시적으로 제어할 수 있습니다. Spring Boot와 MyBatis를 사용하여 데이터베이스 작업을 간소화하고 유

Spring Web은 HTTP 기반 웹 애플리케이션 개발을 지원하는 스프링 프레임워크의 모듈입니다. Spring Boot는 Spring Web을 간소화하고 설정을 자동화하여 더 빠르고 효율적인 웹 애플리케이션 개발 환경을 제공합니다.Spring Web은 웹 애플리케이션

어노테이션 간단 비교:@Controller = 웹 페이지 반환용 컨트롤러.@RestController = 데이터(JSON/XML) 반환용 컨트롤러 (@Controller + @ResponseBody).역할: 웹 애플리케이션에서 뷰(View)를 반환하기 위한 컨트롤러로
build.gradle에 JSP를 사용하기 위한 의존성을 추가합니다.tomcat-embed-jasper:JSP를 처리하기 위한 Jasper JSP 엔진.jstl:JSP에서 JSTL 태그를 사용할 수 있도록 지원.Spring Boot에서 JSP 파일은 기본적으로 src/

Spring Boot는 HTTP 요청을 처리하기 위해 DispatcherServlet이라는 중앙 컨트롤러를 사용합니다. DispatcherServlet은 클라이언트의 요청을 받아, 적절한 컨트롤러 메서드에 요청을 전달하고 결과를 반환합니다.클라이언트 요청브라우저나 HT

MVC 패턴(Model-View-Controller)은 소프트웨어 아키텍처 패턴 중 하나로, 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 역할로 나눠서 구성하는 방식입니다. 이 패턴은 코드의 재사용성, 유지보수성, 확장성을
MVC의 철학적 기반 역할 분리의 중요성 MVC의 핵심은 "하나의 요소는 하나의 역할만 수행해야 한다"는 원칙에서 출발합니다. 이는 소프트웨어 개발의 관심사 분리(Separation of Concerns) 원칙과 직결됩니다. 각 구성 요소가 자신의
Spring Boot의 @RequestMapping은 Spring MVC에서 HTTP 요청을 특정 컨트롤러 메서드에 매핑하기 위해 사용됩니다. 웹 애플리케이션 개발에서 URL 경로와 해당 경로를 처리할 메서드를 연결하는 중요한 어노테이션입니다.역할: HTTP 요청(예:
Spring MVC에서는 폼 데이터에서 파라미터를 가져오는 다양한 방식을 지원합니다. HTTP 요청 데이터를 처리하는 방법은 요청의 유형(GET, POST 등), 데이터의 위치(쿼리 파라미터, 폼 데이터, JSON 등), 그리고 개발자가 필요로 하는 데이터 구조에 따라

🍪쿠키(Cookie)는 웹 서버가 클라이언트(브라우저)에 저장하는 작은 데이터 조각입니다.클라이언트-서버 간 상태 정보를 유지하기 위해 사용됩니다.브라우저는 서버에서 설정한 쿠키를 저장하고, 이후 동일한 서버로 요청할 때마다 쿠키를 함께 전송합니다.저장 위치: 클라이

httpsession세션(Session)은 서버 측에서 사용자 정보를 유지하는 방법입니다.클라이언트가 서버와 상호작용하는 동안(특히 로그인 상태) 서버는 세션을 사용하여 사용자를 식별하고 데이터를 유지합니다.클라이언트는 세션 ID를 통해 서버와 연결됩니다.클라이언트가
Servlet API를 사용하여 HTTP 요청 데이터를 직접 처리폼 데이터는 요청 파라미터로 전달되며, request.getParameter(String key)를 통해 데이터를 읽음가장 기본적인 방식으로, HTTP 요청 객체를 직접 다룰 수 있음복잡한 데이터 처리에는
View Resolution :: Spring Framework(https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-servlet/viewresolver.htmlRedirect(리다이렉트)는 클라
MVC Config :: Spring FrameworkMVC Config API :: Spring Framework(https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-config/customiz
Interception :: Spring FrameworkInterceptors :: Spring FrameworkHandlerInterceptor (Spring Framework 6.2.0 APIHandlerInterceptor는 Spring MVC에서 제공하는 인터
Spring MVC 또는 Servlet 기반 웹 애플리케이션에서 HttpServletRequest 객체는 Parameter와 Attribute를 사용하여 데이터를 처리합니다. 두 개념은 역할과 사용 방법에서 차이가 있으므로 정확히 이해하는 것이 중요합니다.클라이언트(브
Multipart Resolver :: Spring FrameworkMultipartFile (Spring Framework 6.2.0 API파일 업로드는 클라이언트가 자신의 디바이스에서 서버로 파일 데이터를 전송하는 과정입니다.Spring MVC는 파일 업로드를 처리

URL: /upload_form요청 방식: GET설명: 클라이언트가 업로드 양식을 요청하고, 서버는 HTML 폼을 렌더링합니다.클라이언트가 파일을 선택하고 서버로 업로드할 수 있는 HTML 폼.enctype="multipart/form-data" 설정으로 Multipa

REST(Representational State Transfer)는 웹 서비스 설계 아키텍처 스타일로, 자원을 정의하고 자원에 대한 작업을 HTTP 프로토콜을 통해 처리합니다.2000년, 로이 필딩(Roy Fielding)의 박사 학위 논문에서 소개되었습니다.REST
XML은 데이터를 저장하고 교환하기 위한 마크업 언어로, 사람이 읽기 쉽고 기계가 해석하기 쉬운 형식.1998년 W3C 표준으로 제정.데이터를 계층적(트리 구조)으로 표현.JSON은 데이터를 저장하고 교환하기 위한 경량 데이터 포맷으로, 객체 표기법을 기반으로 한 단순
@RestController는 Spring MVC에서 RESTful 웹 서비스를 개발하기 위해 사용하는 어노테이션입니다.기존의 @Controller와 @ResponseBody의 조합을 대체하여, 더 간결하게 RESTful API를 개발할 수 있습니다.RESTful 응답

AJAX(Asynchronous JavaScript and XML)는 웹 페이지를 새로 고침하지 않고도 서버와 비동기적으로 데이터를 주고받을 수 있게 해주는 기술입니다.XML뿐만 아니라 JSON, HTML, 일반 텍스트 등 다양한 데이터 형식을 사용할 수 있습니다.사용
XMLHttpRequest(XHR)는 클라이언트가 서버와 데이터를 비동기적으로 교환할 수 있게 해주는 브라우저 API입니다.1999년에 처음 도입된 이후로 AJAX 기술의 핵심 구성 요소로 자리 잡았습니다.이름에 XML이 포함되어 있지만, JSON, HTML, 텍스트
CORS(Cross-Origin Resource Sharing)는 웹 브라우저 보안 정책으로, 특정 도메인에서 다른 도메인 리소스에 대한 요청을 제어합니다.브라우저는 기본적으로 Same-Origin Policy(동일 출처 정책)를 따르며, 다른 도메인의 리소스 요청을
Swagger는 REST API를 설계, 빌드, 문서화, 소비하는 데 유용한 도구입니다. Spring Boot에서는 Springdoc OpenAPI 라이브러리를 사용하여 Swagger UI를 쉽게 설정할 수 있습니다.build.gradle 파일에 다음 의존성을 추가합니