1. 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정을 알아보자. // 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는 인터페이스다. 스프링 컨테이너는 XML 을 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있다. 직전에 AppConfig 를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 자바 설정 클래스를 기반으로 스프링 컨테이너(ApplicationContext)를 만들어보자. new A..
1. 새로운 할인 정책 개발 “새로운 할인 정책을 확장해보자.” 👀 기획자 : 서비스 오픈 직전에, 할인 정책을 지금처럼 고정 금액 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률% 할인으로 변경하고 싶어요. 예를들어, 기존 정책은 VIP가 10000원을 주문하든 20000원을 주문하든 항상 1000원을 할인했는데, 이번에 새로 나온 정책은 10%로 지정해두면 고객이 10000원 주문시 1000원을 할인해주고, 20000원 주문시에 2000원 할인해주는 거에요! 💻 개발자 : 제가 처음부터 고정 금액 할인은 아니라고 했자나욧! 👀 기획자 : 애자일 소프트웨어 개발 선언 몰라요? “계획을 따르기보다 변화에 대응하기를” 💻 개발자 : ….(하지만 난 유연한 설계가 가능하도록 객체지향 설계 원칙을 준..
비즈니스 요구사항과 설계 회원 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경될 수 있다.) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수도 있다. (미확정) 요구사항을 보면 회원 데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다. 그렇다고 이런 정책이 결정될 때 까지 개발을 무기..
스프링이란? 스프링의 진짜 핵심 스프링은 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 : 객체 지향 언어 ⭐️ 스프링은 객체 지향 언어가 가진 가장 강력한 특징을 살려내는 프레임워크! 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 좋은 객체 지향 설계의 5가지 원칙 (SOLID) SRP : 단일 책임 원칙 Single Responsibility Principle 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수도 있고 작을 수도 있다. 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 예) UI 변경, 객체의 생성과 사용을 분리 엄청나게 긴~ 코드에 jsp, sql 등등 모..
- Total
- Today
- Yesterday
- 자바 어플리케이션 실행 과정
- addFilterBefore
- dto 클래스 생성자
- Cannot construct instance of
- redisson 분산락
- 오블완
- JPA
- 스프링 스케줄링
- FetchJoin
- Spring Security
- Java
- spring boot 3
- Kotlin
- checkout
- Linux
- jvm warm-up 전략
- 배열
- QueryDSL
- port
- MongoDB
- junit5
- n+1
- ChatGPT
- bucket4j
- MultipleBagFetchException
- 티스토리챌린지
- 스프링오류
- Git
- array
- 추상클래스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |