Spring 149

ERD 설계 & API 명세서

2024.01.10 - [Spring/[Project] 눈치우기 봉사활동 매칭 플랫폼] - 서비스 소개 & 기능 정리 서비스 소개 & 기능 정리 눈 치우기 봉사활동 매칭 플랫폼!! ❄️ SnowCare ❄️ ☃️서비스 소개 ❄️SnowCare❄️ 는 눈 치우기 봉사활동 매칭 서비스를 제공하는 웹앱 형태의 어플리케이션 입니다 😊 자신의 지역에서, 이 alsrudalsrudalsrud.tistory.com ☃️ ERD 회원 관리 → User Entity 봉사활동 구인 매칭 → Volunteer Entity → CommentVolunteer Entity → LikeVolunteer Entity 커뮤니티 → CommunityArticle Entity → CommentCommunityArticle Entity →..

서비스 소개 & 기능 정리

눈 치우기 봉사활동 매칭 플랫폼!! ❄️ SnowCare ❄️ ☃️서비스 소개 ❄️SnowCare❄️ 는 눈 치우기 봉사활동 매칭 서비스를 제공하는 웹앱 형태의 어플리케이션 입니다 😊 자신의 지역에서, 이웃들과 함께 눈을 치우며 자율 봉사의 형태로 1365 에 봉사활동을 등록할 수 있습니다 ☃️백엔드 기능 색칠 표시로 내가 맡았던 기능 표시! 회원 관리 □ 카카오 소셜 로그인 메인 페이지 ▣ 봉사활동 구인글 최신 3개 조회 봉사활동 매칭 페이지 ▣ 봉사활동 구인글 목록 조회, 상세 조회, 작성, 삭제 ▣ 봉사활동 구인글 댓글 추가, 삭제 ▣ 봉사활동 구인글 좋아요 개수 변환 로직 추가 □ 봉사활동 구인글 이미지 저장 □ 봉사활동 구인글 좋아요 추가, 삭제 □ 봉사활동 구인글 검색 기능 커뮤니티 페이지 ▣..

[빈 스코프] 웹 스코프에 ObjectProvider 사용 시 발생하는 문제, CGLIB 가짜 프록시로 해결하기

🧐강의🧐 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 ↓ ↓ 이어지는 강의 ↓ ↓ 2024.01.03 - [Spring/스프링 핵심 원리 - 기본편] - [빈 스코프] 웹 스코프 request 예제 만들기 [빈 스코프] 웹 스코프 request 예제 만들기 🧐강의🧐 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 웹 ..

[빈 스코프] 싱글톤 & 프로토타입 빈 함께 사용하기 : Provider

🧐강의🧐 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 ✨ 문제 상황 스프링 컨테이너에 프로토타입 스코프 빈 요청 시, 항상 새로운 객체 인스턴스 생성 후 반환 싱글톤 빈과 함께 사용 시 문제 발생 가능 case1) (정상 동작) 프로토타입 스코프 빈만 직접 요청할 경우 🅰️ 클라이언트 A 가 스프링 컨테이너에 프로토타입 빈 요청 시 새로운 객체 생성 (x01) → addCount() 메서드 호출 시 count 값 1 증가 → x01 의 count 값 : 1 🅱️ 클라이언트 B 가 스프링 컨테이너에 프로토타입 ..

[빈 스코프] 웹 스코프 request 예제 만들기

🧐강의🧐 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. build.gradle 라이브러리 추가 & gradle refresh ... dependencies { implementation 'jakarta.inject:jakarta.inject-api:2.0.1' // JSR-330 Provider ... } ... 2. 애플리케이션 실행 후 브라우저 접속 (localhost:8080) 참고 - 웹 라이브러리 없을 시,..

[빈 스코프] 싱글톤 스코프 빈 & 프로토타입 스코프 빈 조회하기

🧐강의🧐 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 💡싱글톤 스코프 빈 조회하기 ☑️ 스프링 컨테이너 생성 시점에 빈 초기화 메서드 실행 ☑️ 같은 인스턴스 빈 조회 ☑️ 종료 메서드 정상 호출 · test/java/hello.core/scope/SingletonTest public class SingletonTest { @Test void singletonBeanFind() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationC..

[빈 스코프] 스코프 종류(싱글톤, 프로토타입, 웹) & 지정 방법

🧐강의🧐 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. 싱글톤 ✅ 기본 스코프 ✅ 스프링의 시작부터 종료까지 유지되는 가장 넓은 범위의 스코프 ✅ 빈 조회 시, 항상 같은 인스턴스의 스프링 빈 반환 · 싱글톤 빈 요청 시, 동작 방식 2. 프로토타입 ✅ 프로토타입 빈의 생성과 의존 관계 주입까지 스프링 컨테이너가 관여하는 매우 짧은 범위의 스코프..

[빈 생명주기 콜백] 스프링 빈 생명주기 콜백 지원하는 방법 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 애플리케이션 시작 시점에 필요한 연결을 생성하고, 종료 시점에 연결을 모두 종료하는 작업 진행 시, 객체의 초기화와 종료 작업이 필요하다 (ex. 데이터버이스 커넥션 풀, 네트워크 소켓) 인터페이스 : IntializingBean, DisposableBean 설정 정보 : 빈 등록 초기화, 소멸 메서드 (☆이 방법 사용하기!!) 애노테이션 : @PostConstruct, @PreDestroy 🚨문제 상황🚨 · 상황 가정 ☑️ 가상의 외부 네트워크에 연결하는..

[의존 관계 자동 주입] 해당 타입의 스프링 빈 모두 조회 - List & Map

🧐강의🧐 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 클라이언트가 할인의 종류 (rate, fix) 를 선택하는 경우 TEST ✅ Map : 모든 DiscountPolicy 주입 (스프링 빈 이름 : DiscountPolicy 타입으로 조회된 스프링 빈) ✅ List : 해당 DiscountPolicy 타입의 모든 스프링 빈 조회 1. Map & List 로 스프링 빈 조회하는 로직 개발 · test/java/hello.core/autowired/AllBeanTest public class AllBeanTes..

[의존 관계 자동 주입] @Qualifer 타입 체크 문제 해결하기 - 애노테이션 직접 생성

🧐강의🧐 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 🚨문제 상황🚨 ☑️ @Qualifier 사용 시 컴파일 과정에서 타입 체크 안됨 💡해결 방법💡 ✅ 애노테이션 직접 생성 후 주입하기 1. Annotation 생성 · main/java/hello.core/annotation/MainDiscountPolicy @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_T..

728x90