개요ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 매핑해주는 기술이를 통해 개발자는 데이터베이스 테이블 대신 자바 객체로 비즈니스 로직을 구현할 수 있으며, SQL 대신 객체 지향 코드로 데이터 작업을 수행할 수 있음장점생산성 향상반복적인 SQL 작성 없이 객체 조작으로 개발 가능유지보수성 개선데이터베이스와 비즈니스 로직이 분리되어 요구사항 변경 시 유연하게 대응데이터베이스 독립성SQL 추상화 계층을 제공하여 특정 벤더에 종속되지 않는 코드를 작성할 수 있음단점성능 이슈복잡한 쿼리나 대용량 데이터 처리 시 직접 SQL을 사용한 최적화보다 한계가 있을 수 있음러닝 커브ORM 프레임워크의 내부 동작(영속성 관리, 캐싱, 연관관계 매..
개요JDBC Template은 Spring Framework에서 제공하는 데이터베이스 연동 유틸리티로, JDBC의 반복 코드를 크게 줄여주고 자원 관리 및 예외 처리를 내부적으로 처리SQL 실행, 결과 매핑, 트랜잭션 통합 등 다양한 기능을 제공하여 개발자가 비즈니스 로직에 집중할 수 있도록 도와줌데이터 소스와 커넥션 풀, 예외 전환, 배치 처리 등과도 유기적으로 연동되어, 실무에서 성능과 안정성을 동시에 고려할 수 있음주요 특징과 활용핵심 기능1. 반복 코드 제거SQL 실행, 리소스 해제, 예외 전환 등 JDBC의 반복적인 코드를 추상화하여 코드의 간결성과 유지보수성을 높임2. SQL 실행 및 업데이트단순한 쿼리 실행뿐 아니라, 업데이트, 삭제, 삽입 작업을 손쉽게 수행할 수 있음3. 결과 매핑 (Ro..
개요Spring MVC는 클라이언트의 입력 데이터를 도메인 객체로 자동 바인딩하고, 유효성 검증을 통해 데이터 무결성을 보장할 수 있는 기능을 제공@Valid 어노테이션과 BindingResult를 활용하면, 입력 데이터에 대한 제약 조건(@NotEmpty, @Email, @Size 등)을 손쉽게 검사할 수 있음검증 실패 시, BindingResult에 오류 정보를 담아 사용자에게 상세한 피드백을 제공하거나, REST API의 경우 JSON 형태로 에러 정보를 반환할 수 있음주요 어노테이션과 활용@Valid기능컨트롤러 메서드의 파라미터에 선언된 도메인 객체에 대해 필드별 검증 어노테이션을 실행하여 유효성 검사를 수행특징데이터 바인딩 이후에 자동으로 검증 로직이 실행검증 실패 시 BindingResult에..
개요Spring MVC는 컨트롤러 내에서 발생하는 예외를 효과적으로 처리할 수 있도록 다양한 예외 처리 어노테이션을 제공@ExceptionHandler를 통해 특정 예외를 개별 컨트롤러 내에서 처리할 수 있으며, @ControllerAdvice를 활용하면 전역적으로 일관된 예외 처리 로직을 적용할 수 있음이를 통해 코드의 가독성을 높이고, 예외 발생 시 사용자에게 친숙한 응답이나 뷰를 제공하여 시스템 안정성을 높일 수 있음추가로 로깅, 커스텀 예외 설계, REST API용 에러 응답 등 다양한 상황에 대응할 수 있는 전략을 함께 고려해야 함주요 어노테이션과 활용@ExceptionHandler기능컨트롤러 내에서 발생하는 특정 예외를 잡아 처리하는 메서드를 지정주요 속성value처리할 예외 클래스 지정예) ..
개요Spring MVC는 클라이언트의 HTTP 요청을 특정 컨트롤러 메서드에 매핑하여 처리할 수 있도록 다양한 어노테이션을 제공대표적으로 @RequestMapping은 클래스 및 메서드 레벨에서 URL 경로, HTTP 메서드, 미디어 타입 등 다양한 조건을 설정할 수 있는 범용 어노테이션Spring 4 이후에는 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping 등 HTTP 메서드별 축약 어노테이션을 제공하여 코드의 가독성과 작성 편의성을 높임주요 어노테이션과 활용@RequestMapping기능클래스나 메서드에 URL, HTTP 메서드, 소비/생산 미디어 타입 등을 지정하여 요청을 매핑주요 속성value 또는 path매핑할 URL ..
개요Spring MVC 애플리케이션에서 @Controller와 @RestController는 클라이언트의 요청을 처리하는 역할을 함@Controller주로 JSP, Thymeleaf 등 템플릿 뷰를 사용하여 HTML 페이지를 렌더링할 때 사용메서드에서 반환한 값은 View Resolver를 통해 해석되어 뷰(템플릿)로 전달@RestControllerRESTful API 엔드포인트를 제공하며, 데이터를 JSON, XML 등으로 직렬화하여 클라이언트에 반환내부적으로 @Controller와 @ResponseBody가 결합된 형태로 동작역할 및 책임@Controller역할웹 애플리케이션에서 클라이언트의 요청을 받아 템플릿 기반의 뷰를 반환하는 역할을 담당주요 책임HTTP 요청 매핑 (예: GET, POST 등)..
MVC 구조의 개요Model-View-Controller (MVC)는 사용자 인터페이스와 비즈니스 로직을 분리하여 개발 효율성과 유지보수성을 높이는 소프트웨어 아키텍처 패턴이 패턴은 애플리케이션을 세 가지 주요 컴포넌트로 분리Model애플리케이션의 데이터와 비즈니스 로직을 담당하며, 상태와 동작을 정의View사용자에게 데이터를 표시하는 역할을 담당하며, UI 요소를 구성Controller사용자의 요청을 받아 처리하고, Model과 View 간의 상호작용을 중재각 컴포넌트의 역할 및 책임Model역할애플리케이션의 데이터 구조와 비즈니스 로직을 담당주요 책임도메인 객체와 데이터베이스 엔티티의 정의데이터 상태 관리 및 검증 로직 구현비즈니스 규칙 및 연산 처리특징데이터 중심의 컴포넌트로, 뷰와 컨트롤러에 독립..
패턴의 개요현대 스프링 애플리케이션은 관심사의 분리(Separation of Concerns)를 통해 유지보수성과 확장성을 높임그 핵심 설계 방식 중 하나가 Controller, Service, Repository 패턴애플리케이션의 각 계층이 명확한 역할을 가지고 상호작용하여, 기능의 응집도를 높이고 결합도를 낮추는 데 도움을 줌각 계층의 역할 및 책임Controller역할클라이언트의 요청을 받아 처리하고, 응답을 반환하는 역할주요 책임HTTP 요청 매핑 (GET, POST, PUT, DELETE 등)요청 파라미터 유효성 검사 및 바인딩Service 계층 호출을 통한 비즈니스 로직 처리 위임결과 데이터를 View 또는 JSON/XML 형식으로 반환특징프레젠테이션 계층(Presentation Layer)에..
서론스프링 프레임워크는 자바 기반 엔터프라이즈 애플리케이션 개발의 핵심 도구경량 컨테이너 기반의 설계와 IoC/DI, AOP, 트랜잭션 관리, 웹 MVC 등 다양한 모듈을 제공하여 개발 생산성과 유지보수성을 높임스프링 프레임워크의 구조와 특징기본 구조스프링은 모듈화된 구조로 구성되어 있어, 필요한 기능만 선택적으로 사용할 수 있음Core ContainerIoC/DI객체의 생성과 의존성 주입을 관리주요 컴포넌트BeanFactory, ApplicationContextAOP (Aspect-Oriented Programming)횡단 관심사 분리로깅, 보안, 트랜잭션 관리 등 공통 기능을 모듈화하여 핵심 로직과 분리Data Access/Integration데이터 처리JDBC, ORM(Hibernate, MyBat..
서론현대 웹 애플리케이션과 API 서버 환경에서, RESTful API는 자원을 효과적으로 관리하고 확장 가능한 서비스를 구축하기 위한 핵심 아키텍처 스타일REST(Representational State Transfer)는 HTTP 프로토콜의 기본 요소들을 활용하여, 자원을 URI로 식별하고 HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 조작RESTful API 설계 원칙 기본 개념RESTful API는 웹 자원을 HTTP 프로토콜을 통해 조작하기 위한 아키텍처 스타일클라이언트-서버 구조, 무상태성, 캐시 가능성, 일관된 인터페이스, 계층화 시스템, 그리고 선택적으로 코드 온 디맨드(Code on Demand) 등 6가지 주요 원칙에 기반하여 설계이러한 원칙은 API의 확장성, ..
- Total
- Today
- Yesterday
- HTTP
- Spring Boot
- 우선순위 큐
- k8
- db
- 우아한 테크코스
- TRIE
- Java
- 데이터베이스
- 자바
- 스프링
- 자료구조
- 알고리즘
- 해시 테이블
- 백트래킹
- CPU 스케줄링
- MSA
- restful api
- 프리코스
- i/o모델
- 그리디 알고리즘
- CS
- 우테코
- devops
- 동적 프로그래밍
- 탐색 알고리즘
- Spring
- 분할 정복
- B+Tree
- 운영체제
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |