[Spring] 02. 스프링 빈(Bean)과 스프링 컨테이너
·
CS
⓵   스프링 컨테이너   스프링 컨테이너는 스프링 프레임워크의 핵심으로, @Autowired 같은 애플리케이션에서 사용되는 객체(빈)를 생성하고 관리하는 역할을 한다. 또한 객체의 생명 주기와 의존성을 제어하여, IoC와 DI를 통해 객체 간 결합도를 낮추고 유연성을 높인다. ⓶  빈 (Bean)    빈은 스프링 컨테이너가 생성하고 관리하는 객체로, 애플리케이션에서 필요한 서비스나 구성 요소를 나타낸다. 빈은 컨테이너에 의해 필요할 때 주입되며, 개발자는 이를 통해 객체 생성과 관리 부담을 줄일 수 있다. 참고로 스프링은 빈을 스프링 컨테이너에 등록하기 위해 XML 파일설정, 애너테이션 추가 등의 방법을 제공한다. 즉 빈을 등록하는 방법은 여러가지가 있다는 뜻이다.@Componet // 클래스 MyT..
[Spring] 03. AOP(관점 지향 프로그래밍)과 PSA(서비스 추상화)
·
CS
💡 먼저 이전 글을 읽고 오자!더보기   스프링 프레임워크는 객체 지향 프로그래밍의 장점을 극대화하기 위한 여러 기법을 도입하고 있다. 그 중에서도 AOP(Aspect-Oriented Programming)와 PSA(Portable Service Abstraction)**는 각각 코드의 재사용성을 높이고, 다양한 서비스와의 유연한 통합을 가능하게 하는 핵심 개념이다. 이러한 기법들은 개발자가 비즈니스 로직에 집중하면서도, 시스템의 유지보수성과 확장성을 높일 수 있도록 돕는다. ⓵   AOP(Aspect-Oriented Programming)   관점 지향 프로그래밍이라고 불리는 개념은, 공통 기능을 비즈니스 로직과 분리해주는 개념이다. 예를 들어, 로그 기록이나 보안 체크 같은 기능을 모든 메서드에 추..
[Spring] 04. 스프링 부트 요청 - 응답 과정 ( HTTP 요청 처리 과정)
·
CS
💡 먼저 이전 글을 읽고 오자!더보기   Spring Boot에서 HTTP 요청이 발생할 때 프레젠테이션 계층, 비즈니스 계층, 퍼시스턴스 계층, 그리고 데이터베이스가 상호 작용하는 과정은 다음과 같다. 1. 프레젠테이션 계층 (Presentation Layer): 사용자가 HTTP 요청을 보내면 프레젠테이션 계층이 요청을 받게 된다. 일반적으로 Spring Boot에서는 컨트롤러(@RestController 또는 @Controller)가 이 역할을 수행한다. 예를 들어, @RequestMapping 또는 @GetMapping 등으로 매핑된 컨트롤러 메서드가 요청을 처리하게 된다. 컨트롤러는 요청을 필요한 서비스 계층으로 전달하거나, 필요한 경우 즉시 응답을 보낼 수 있다. 2. 비즈니스 계층 (Bus..
[Spring] 05. ORM 개념 및 JPA와 하이버네이트
·
CS
📍 ORM (Object-Relational Mapping) 이란? 객체 지향 프로그래밍 언어에서 데이터베이스와 상호 작용하기 위한 기술이다. ORM은 객체와 데이터베이스 테이블을 매핑하여 SQL 쿼리를 작성하지 않고도 데이터베이스 작업을 수행할 수 있도록 돕는다.즉, ORM을 사용하면 데이터베이스의 테이블을 클래스, 레코드를 객체, 필드를 객체의 속성으로 취급하여 프로그래밍 언어에서 직접 데이터베이스 조작을 수행할 수 있다.► ORM의 장점생산성 향상: SQL을 직접 작성하지 않고 메서드 호출을 통해 데이터 조작이 가능하므로 개발 속도가 빨라진다.유지보수성 향상: 코드와 데이터베이스가 객체 중심으로 통일되어 이해와 수정이 쉽다.보안성 강화: SQL 인젝션과 같은 보안 문제를 줄이는 데 도움이 된다. ..