분류 전체보기 344

🩷 좋아요 기능 (추가, 취소) 🩷

Controller → Service → Repository 💟 Controller ☑️ 좋아요 추가 : 좋아요를 누르는 회원 ID & 책 ID 를 담은 데이터 (addLikesCount) 를 기반으로 좋아요를 반영한다 ☑️ 좋아요 취소 : 삭제하려는 Likes 테이블의 id 값을 입력받는다 @RestController @RequestMapping("/book/likes") @RequiredArgsConstructor public class LikesController { private final LikesService likesService; // 좋아요 추가 @PostMapping() public ResponseEntity addLikes(@RequestBody AddLikesCount addLike..

💛 책 반납하기 💛

2023.12.16 - [Spring/[PROJECT] 도서 대여 프로그램] - 💛 책 대출 등록하기 💛 💛 책 대출 등록하기 💛 Controller → Service → Repository 🔖 Controller ☑️ 책의 대출 정보가 담긴 데이터 (addRentDto) 가 들어온다 ☑️ 책이 이미 대출 중인지, 대출 가능한 상태인지 확인한다 (BookStatus) ☑️ 대출이 가능하면 alsrudalsrudalsrud.tistory.com 📗 Controller ☑️ 반납하고자 하는 책의 ID 를 입력받는다 ☑️ Rent 테이블에서 삭제하는 service 메서드를 호출한다 (deleteRent) ... public class RentController { private final RentService..

💛 대출한 책 조회하기 💛

책 대출하기 2023.12.16 - [Spring/[PROJECT] 도서 대여 프로그램] - 💛 책 대출 등록하기 💛 💛 책 대출 등록하기 💛 Controller → Service → Repository 🔖 Controller ☑️ 책의 대출 정보가 담긴 데이터 (addRentDto) 가 들어온다 ☑️ 책이 이미 대출 중인지, 대출 가능한 상태인지 확인한다 (BookStatus) ☑️ 대출이 가능하면 alsrudalsrudalsrud.tistory.com 📕 Controller ☑️ 요청이 오면, DB 에 저장되어 있는 책 대출 목록을 반환한다 - service 메서드 호출 (getAllRent) ... public class RentController { private final RentService ..

💛 책 대출 등록하기 💛

Controller → Service → Repository 🔖 Controller ☑️ 책의 대출 정보가 담긴 데이터 (addRentDto) 가 들어온다 ☑️ 책이 이미 대출 중인지, 대출 가능한 상태인지 확인한다 (BookStatus) ☑️ 대출이 가능하면 Rent 테이블에 등록한다 - service 메서드 호출 (createRent) @RestController @RequestMapping("/rent") @RequiredArgsConstructor public class RentController { private final RentService rentService; // 책 대출 등록 @PostMapping() public ResponseEntity createRent(@RequestBody ..

💚 책 등록하기 💚

Controller → Service → Repository 📚 Controller ☑️ Postman API 요청으로 책의 데이터 (addBookDto) 가 입력된다 ☑️ 책을 등록하는 메서드 (addBook) 가 저장된 service 가 호출된다 @RestController @RequestMapping("/book") @RequiredArgsConstructor public class BookController { private final BookService bookService; // 책 등록 @PostMapping() public void addBook(@RequestBody AddBookDto addBookDto) { bookService.addBook(addBookDto); } } 📚 Ser..

[컴포넌트 스캔] 필터 - includeFilters, excludeFilters

🧐강의🧐 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 includeFilters : 컴포넌트 스캔 대상을 추가로 지정 excludeFilters : 컴포넌트 스캔 대상에서 제외할 대상 지정 TEST ☑️ 필터를 사용해 등록한 빈 확인하기 1. test/java/hello.core/scan/filter Package 생성 2. filter 패키지에 MyIncludeComponent Interface 생성 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME..

[컴포넌트 스캔] 기본 스캔 대상

🧐강의🧐 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 ✨ 탐색할 패키지의 시작 위치 지정하기 · AutoAppConfig ... @Configuration @ComponentScan( // 탐색할 패키지 시작 위치 지정하기 basePackages = "hello.core.member", // 지정한 클래스의 패키지를 탐색 시작 위치로 지정하기 basePackageClasses = AutoAppConfig.class, ... ) public class AutoAppConfig { } ✅ basePackages ..

[컴포넌트 스캔] @Component, @Autowired - 의존 관계 자동 주입

🧐강의🧐 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 🫧 @ComponentScan ☑️ @Component 가 붙은 모든 클래스를 스프링 빈으로 등록 (설정 정보 없이 스프링 빈 자동 등록) · 스프링 빈 이름 기본 규칙 : 클래스명 (맨 앞글자만 소문자로 변경) 》ex) MemberServiceImpl → memberServiceImpl 》빈 이름 직접 지정 : @Component("memberService2") 🫧 @Autowired ☑️ 생성자에 @Autowired 지정 시, 스프링 컨테이너가 해당 스..

[싱글톤 컨테이너] @Configuration - 싱글톤 보장

🧐강의🧐 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 에서 MemoryMemberRepository 가 2 번 호출되면서 싱글톤이 깨지지는 않을까 ?? @Configuration public class AppConfig { // @Bean memberService -> new MemoryMemberRepository() // @Bean orderService -> new MemoryMemberRepository() @Bean public MemberService memberSe..

728x90