일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- vscode
- Spring
- 単語
- 日本語
- html
- Python
- ruby
- 반다이몰
- 건담베이스
- 一日一つメソッド
- 디지몬
- javascript
- rails7
- 연습문제
- CSS
- nico
- java
- 건담
- 비즈니스일본어
- Flutter
- 일본어
- 자바
- 인프런
- springboot
- C로 시작하는 컴퓨터 프로그래밍4판
- メソッド
- DART
- Web
- rails
- jsp
- Today
- Total
목록springboot (11)
AR삽질러
의존관계 주입방법 1. 생성자주입 2. 수정자주입(setter주입) 3. 필드주입 4. 일반 메서드주입 생성자주입(Constructor Injection) - 의존관계가 필수적일때 객체 생성 시점에서 의존관계를 한번에 주입 받는다.(불변, 필수 의존관계) @Component public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPo..
Spring Singleton - 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인패턴이다. 예를 들어 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 매번 새로운 연결을 생성하면 리소스를 많이 사용하게 되지만 싱글톤 패턴을 사용하여 하나의 연결 객체를 공유하면 리소스를 효율적으로 사용할 수 있다. Spring Singleton Container - Bean 애플리케이션의 객체를 관리하고 처음 요청될 때 생서되며 동일한 인스턴스가 재사용된다. 특징 1) 인스턴스관리 : Bean의 생명주기를 관리, 생성, 초기화, 소멸등 2) 의존성주입 : Singleton Container는 빈간의 의존성을 관리하며 필요시 빈을 자동으로 주입할 수 있다. 3) 설정과 커스터마이징 : XML, JavaC..
BeenFactory - BeabFactory는 Spring Container의 최상위 인터페이스이자 핵심 인터페이스로 빈의 생성, 초기화, 관리, 의존성 해결 등 기본 작업을 담당한다. ApplicationContext - ApplicationContext는 BeanFacory의 확장 인터페이스로 더 고급기능을 제공하며 즉시초기화 애플리케이션 시작시 모든 싱클톤 빈이 즉시 로딩되어 초기화 된다. 국제화지원 한국 = 한국어, 영어권 = 영어 이벤트발생 이벤트를 발생시키고 모델을 편리하게 지원 환경추상화 개발, 테스트, 운영 등 다양한 환경을 구분해서 처리할 수 있다. BeanFactory는 가장 기본적인 빈 관리기능을 제공 ApplicationContext는 BeanFactory보다 많은 기능을 제공하여..
빈 이름으로만 조회 public class ApplicationContextBasicFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("빈 이름으로 조회") void findBeanByName(){ MemberService memberService = ac.getBean("memberService", MemberService.class); Assertions.assertThat(memberService).isInstanceOf(MemberServiceImpl.class); } memberService 빈을 MemberService..
RateDiscountPolicyTest RateDiscountPolicy : 할인정책 클래스로 discountPercent변수에 할인율을 나타내고 VIP회원일 경우에만 할인을 적용한 값을 반환하고 그외는 0을 반환한다. public class RateDiscountPolicy implements DiscountPolicy{ private int discountPercent = 10; @Override public int discount(Member member, int price){ if(member.getGrade() == Grade.VIP){ return price * discountPercent / 100; }else{ return 0; } } } RateDiscountPolicyTest : JU..
주문과 할인 도메인 1) 주문생성 : 클라이언트는 주문 서비스에 주문 생성을 요청한다. 2) 회원조회 : 할인을 위해서는 회원 등급이 필요하다. 3) 할인적용 : 주문 서비스는 회원등급에 따른 할인 여부를 할인 정책에 위임한다. 4) 주문결과 반환 : 주문서비스는 할인 결과를 포함한 주문 결과를 반환한다. hello.core.discount DiscountPolicy : 회원정보와 상품가격을 받아 할인 대상 금액을 반환한다. public interface DiscountPolicy { // return 할인 대상 금액 int discount(Member member, int price); } FixDiscountPolicy : discountFixAmount변수로 고정된 할인금액 설정, VIP등급일 경우..
회원도메인 테스트 MemberApp : MemberServiceImpl을 이용해 MemberService인터페이스의 구현체 memberService를 생성한 후 테스트용 회우너객체를 생성하고 출력한다. public class MemberApp { public static void main(String[] args) { MemberService memberService = new MemberServiceImpl(); Member member = new Member(1L, "memberA", Gradle.VIP); memberService.join(member); Member findMember = memberService.findMember(1L); System.out.println("new member ..
https://start.spring.io/ 스프링핵심원리 - 기본편 1. Java11, IntelliJ 2. 프로젝트 Gradle Groovy Project SpringBoot : 2.7.10 Project Metadata Group : hello Artifact : core Java : 11 설치가 완료되고 IntelliJ에 들어가서 File -> Settings -> Gradle (Build and run using, Run tests using)을 IntelliJ IDAE로 바꿔준다. 3. 요구사항 회원 - 기입, 조회 - 일반회원, VIP회원 주문과 할인 - 회원 상품주문 - 회원 등급에 따라 할인적용 hello.core.member Gradle : 회원의 등급을 나타내는 Gradle은 열거형으..
혼자서만 배우고 작업해봤지 협업은 처음이여서 API를 만드는데 애를 먹었다...Class명 DB명만 다르지 게시판이랑 똑같으니 보시는분들 참고하시고 도움이 되었으면 좋겠습니다! RESTful API개발? Representational State Transfer(표현 상태 전이) 웹서비스를 구현하는 아키텍처 스타일 중 하나로 RESTful API개발은 REST 아키텍처 스타일을 따라 설계된 API를 구현하는것을 의미한다. 1. Stateless - Client가 Server에 요청을 보낼때 요청에 필요한 모든 정보를 함께 보내게 되는데 서버는 각 요청에 대한 Context를 유지하거나 관리할 필요없이 상태 유지 문제를 해결할 수 있다. 2. Uniform Interface - URL(Uniform Reso..
https://arang95.tistory.com/80 SpringBoot-회원관리기초(1) 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 컨트롤러(Controller) : 클라이언트의 요청을 처리하고 응답을 반환하는 역할. 웹MVC의 컨트롤러 @Controller, @RestController, @RequestMapping 등 서비스(Service) : arang95.tistory.com 회원서비스 import java.util.Optional; public class MemberService { private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.m..