목록Spring (9)
geeone 스터디 블로그
스프링 세션 7주차 내용 복습1. ORM(Object-Relational Mapping)객체 지향 프로그래밍에서, 객체와 관계형 데이터베이스의 테이블 간 데이터를 자동으로 매핑하는 기술 필요성 : SQL 쿼리를 직접 작성하지 않고, 객체 지향적인 방식으로 데이터베이스 작업을 처리 / 생산성 향상, 유지보수 용이 2. JPA(Java Persistence API)자바 표준 ORM 명세로, 애플리케이션과 데이터베이스 간 데이터 처리 로직을 추상화, 자바의 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음 3. Hibernate자바 진영의 다양한 ORM 프레임워크 중 가장 많이 사용되는 프레임워크: JPA(Java Persistence API) 표준의 구..
스프링 세션 6주차 내용 복습1. DAO란?데이터 접근 객체 DAO는 데이터베이스 작업을 추상화하고 캡슐화합니다. 이는 데이터 소스 접근 과 비즈니스 로직을 분리합니다재사용성 DAO 패턴은 코드 재사용을 도와줍니다. 다양한 데이터 소스에 대해 일관된 인 터페이스를 제공합니다. 유지보수성 데이터 접근 로직이 한 곳에 집중되어 있어 유지보수가 용이합니다. 변경 사항 을 쉽게 적용할 수 있습니다. 2. 스프링 DAO의 필요성코드 간소화, 예외 처리 개선, 테스트 용이성 3. JDBC 템플릿 사용법1. 의존성 추가 : Maven이나 Gradle에 spring-jdbc 의존성을 추가합니다. 2. DataSource 설정 : 데이터베이스 연결 정보를 포함한 DataSource를 구성합니다.3. JdbcTe..
1. 회원 서비스 개발 2. 회원 서비스 테스트 3. 컴포넌트 스캔과 자동 의존관계 설정4. 자바 코드로 직접 스프링 빈 등록하기 1. 회원 서비스 개발 서비스 클래스(비즈니스 매서드들) 작성하기자주 쓰는건 method로 빼기 : Control + T , extract methodMemberService.javapackage hello.hello_spring.service;import hello.hello_spring.domain.Member;import hello.hello_spring.repository.MemberRepository;import hello.hello_spring.repository.MemoryMemberRepository;import java.util.List;import java...
스프링 세션 4주차 내용 복습1. 관점 지향 프로그래밍(AOP)Overview 애플리케이션에는 부가 기능과 핵심 기능이 있는데, 부가 기능이 중복되어 코드 전반에 흩어져 있다면 AOP(핵심 기능과 부가 기능을 분리) 를 바탕으로 부가 기능과 적용할 위치를 합쳐 Aspect라는 객체로 모듈화하면 된다. AOP란? 횡단 관심사를 핵심 비즈니스 로직에서 분리하여 모듈성을 향상시키는 프로그래밍 패러다임AOP에서는 횡단 괌심사(부가기능)를 Asepct라는 특별한 객체로 모듈화한다. Asepct 객체에는 무엇을 언제 어디서 할 지에 대한 정보가 모두 정의되어 있다. AOP 용어 1. Asepct부가 기능을 모듈화한 것Advice(What&When) + Pointcut(Where)2. TargetAspect가 적..
1. 비즈니스 요구 사항 정리2. 회원 도메인과 레포지토리3. 회원 레포지토리 테스트 케이스 작성 1. 비즈니스 요구사항 정리데이터: 회원ID, 이름기능: 회원 등록, 조회아직 데이터 저장소가 선정되지 않음(가상의 시나리오)컨트롤러: 웹 MVC의 컨트롤러 역할서비스: 핵심 비즈니스 로직 구현 //ex 중복 가입 안 됨 등.리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정개발을 진행하기 위해서 초기 개발 단계에서는 구현체..
스프링 세션 3주차 내용 복습1. Bean?Bean scope란? Bean scope란 빈의 범위라는 뜻으로, 생성된 빈 인스턴스가 존재할 수 있는 컨테이너 영역빈을 생성하고 소멸시키는 방법을 결정함 ( 메모리 관리와 빈의 생성 시점 등을 세밀하게 컨트롤 가능 )스프링은 개발자가 빈을 생성하고 관리할 수 있도록 지원하는데, 이때 빈 객체의 스코프는 객체가 생성되고 존재하는 범위를 말함 기본적인 빈 스코프 종류- singlton / prototype / request / session / application / websocket Singlton scope - 빈을 생성하고 그 범위가 싱글톤으로 지정되면 Spring IoC 컨테이너는 해당 빈으로 정의된 객체의 인스턴스를 정확히 단 한 개 생성- 이 단..