분류 전체보기 343

🖤 API 명세서 작성하기 (+ DTO) 🖤

2023.11.22 - [Spring/[PROJECT] 도서 대여 프로그램] - 🩶 ERD 설계하기 🩶 🩶 ERD 설계하기 🩶 2023.11.22 - [Spring/[PROJECT] 도서 대여 프로그램] - 🤍 비즈니스 요구사항 설계하기 🤍 🤍 비즈니스 요구사항 설계하기 🤍 😳 회원 회원 가입 & 회원 탈퇴 로그인 & 로그아웃 이름, 닉네임, 전화번 alsrudalsrudalsrud.tistory.com ⭐ API 명세서 기능 HTTP Method API Path 회원 가입 POST /user/signin 회원 탈퇴 PATCH /user/signout/{userId} 로그인 POST /user/login 로그아웃 GET /user/logout 책 전체 조회 GET /book 책 설명 페이지 GET /bo..

🩶 ERD 설계하기 🩶

2023.11.22 - [Spring/[PROJECT] 도서 대여 프로그램] - 🤍 비즈니스 요구사항 설계하기 🤍 🤍 비즈니스 요구사항 설계하기 🤍 😳 회원 회원 가입 & 회원 탈퇴 로그인 & 로그아웃 이름, 닉네임, 전화번호, 성별 📃 책 회원이 여러 권의 책 대여 가능 좋아요 기능 책은 하나의 카테고리가 있음 카테고리 별 책 개수 집계 기능 alsrudalsrudalsrud.tistory.com ✏️ 회원 · 이름, 닉네임, 전화번호, 성별, 이메일, 비밀번호 · 회원 탈퇴 시 비활성 상태 → 일정 기간 동안 비활성인 경우 자동 삭제 (batch, soft delete - patch) · created_at (생성 시간), updated_at (수정 시간) : datetime(6) 으로 밀리초 소수점..

🤍 비즈니스 요구사항 설계하기 🤍

😳 회원 회원 가입 & 회원 탈퇴 로그인 & 로그아웃 이름, 닉네임, 전화번호, 성별 📃 책 회원이 여러 권의 책 대여 가능 좋아요 기능 책은 하나의 카테고리가 있음 카테고리 별 책 개수 집계 기능 책 한 권에 여러 개의 해시태그, 해시태그 하나가 여러 책에 붙을 수 있음 제목, 설명에 대한 정보 🪇 알림 공지 알림, 책 반납 시간 알림, 마케팅 알림 등이 있을 수 있음

[스프링 컨테이너와 스프링 빈] 컨테이너에 등록된 모든 빈 조회

🧐강의🧐 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard ✅ 스프링 컨테이너에 실제로 스프링 빈이 등록되었는지 확인하기 ✨ 모든 빈 출력하기 ☑️ 스프링에 등록된 모든 빈 출력 1. test/java/hello.core 에 beanfind 이름의 Package 생성 2. beanfind 패키지에 ApplicationContextInfoTest 이름의 Class 생성 public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = n..

[스프링 컨테이너와 스프링 빈] 스프링 컨테이너 생성

🧐강의🧐 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard ✅ 컨테이너 : 사용하는 객체들을 담고 있음 ✨ 스프링 컨테이너 만드는 방법 · 애노테이션 기반 자바 설정 클래스 → AppConfig 사용 · XML 기반 ✨ 스프링 컨테이너 생성 과정 1. 스프링 컨테이너 생성 (자바 설정 클래스 기반) ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ➡️ Application Context : ..

[이해2 - 객체 지향 원리 적용] 스프링으로 전환하기

🧐강의🧐 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard ✨ 스프링 컨테이너 · ApplicationContext = 스프링 컨테이너 · @Configuration 이 붙은 AppConfig 를 설정(구성) 정보로 사용 · @Bean 이 적힌 메서드를 모두 호출 후 반환된 객체를 스프링 컨테이너에 등록 → 스프링 빈 · 스프링 빈 이름 : @Bean 이 붙은 메서드 명 (ex. memberService, orderService) · 스프링 빈 찾기 : applicationContext.getBean() 메서드 사..

[이해2 - 객체 지향 원리 적용] IoC, DI, 그리고 컨테이너

🧐강의🧐 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard ✨ 제어의 역전 IoC (Inversion of Control) 프로그램의 제어 흐름을 직접 제어하는 것이 아닌 외부에서 관리하는 것 · 기존 프로그램 : 클라이언트 구현 객체가 스스로 필요한 구현 객체를 생성 & 연결 & 실행 · AppConfig 등장 이후 : 클라이언트 구현 객체는 실행 역할만 담당 》ex. OrderServiceImpl : 필요한 인터페이스들을 호출하지만, 어떤 구현 객체가 실행될지 모름 》프로그램의 제어 흐름 → AppConfig ..

[Spring] CommandAcceptanceException : Error executing DDL

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table if exists like cascade " via JDBC [Syntax error in SQL statement "DROP TABLE IF EXISTS LIKE[*] CASCADE "; expected "identifier";] at ... 스프링 부트에서 JPA 를 이용하여 Entity 생성 후, H2 데이터베이스에서 테이블을 확인하려고 애플리케이션을 실행하는 순간 .. 에러가 났습니다 ㅜ.ㅜ 테이블을 만든 적이 없는데 뭔 drop table 이야 ㅡ,ㅡ db 연결 시 발생한 문제니까 application.yml 을 수정했습니다 ● 기존 코..

ERROR 2023.11.15

[이해2 - 객체 지향 원리 적용] SOLID 中 적용된 3가지 원칙

🧐강의🧐 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard ✨ SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다 · AppConfig : 구현 객체 생성 & 연결 · 클라이언트 객체 : 구현 객체 실행 ✨ DIP 의존 관계 역전 원칙 프로그래머는 "추상화에 의존해야지, 구체화에 의존하면 안된다" 의존성 주입은 이 원칙을 따르는 방법 중 하나다 · 기존 : 새로운 할인 정책 적용 시 클라이언트 코드 변경 필요 ∵ OrderServiceImpl → FixDiscountPolicy 구체화 구현 클래스 의존 ..

[이해2 - 객체 지향 원리 적용] 기획자 AppConfig (+ 새로운 할인 정책 적용 문제 해결)

🧐강의🧐 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard ✨ AppConfig 등장 · AppConfig : 애플리케이션의 전체 동작 방식을 구성하기 위해, 구현 객체를 생성하고, 연결하는 책임을 가지는 별도의 설정 클래스 · 애플리케이션 실제 동작에 필요한 "구현 객체 생성" 》MemberServiceImpl 》MemoryMemberRepository 》OrderServiceImpl 》FixDiscountPolicy · 생성한 객체 인스턴스의 참조를 "생성자를 통해 주입(연결)" 》MemberServiceImp..

728x90