일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 생성자 주입
- SQL
- 테스트 코드
- hashcode
- Spring
- DI
- DDL
- docker
- AOP
- 필드 주입
- 열 속성
- jpa
- MSA
- equals
- 재정의
- static
- 조합
- cache
- KEVISS
- Test
- stream
- java
- 인덱스
- VUE
- select_type
- StringBuilder
- 바이너리 카운팅
- lambda
- jwt
- redis
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bexrsJ/btsB7nc9MyH/LA8E3xmeVPOGb8wLBWIljk/img.png)
Spring에 필요한 개념을 정리했습니다. Spring이란?Spring은 POJO(Plain Old Java Object) 방식의 프레임워크입니다. 복잡한 엔터프라이즈 로직을 대신 처리하여 개발자가 서비스 로직에 집중하고 이를 POJO(순수 Java 객체)로 쉽게 개발 할 수 있도록 지원해주는 프레임워크입니다.Spring Framework의 특징Spring은 POJO(Plain Old Java Object) 방식의 프레임워크입니다.- 개발자가 서비스 로직에 집중하고 이를 POJO(순수 Java 객체)로 쉽게 개발 할 수 있도록 지원합니다. Spring은 DI(Dependency Injection)를 지원합니다.- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜 줍니다. Sp..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cWTj5X/btsB6ndmcqy/5lioxa58X7OjaqY6zDazNK/img.png)
작성한 이유 아래와 같은 경험으로 인해 글을 작성해 본다. 필드 주입 방법으로 DI를 하니 테스트에서 NullPointError 발생해서 고생 좀 했다. Controller에서 @Autowired없이 @RequiredArgsConstructor으로 Service DI 하는 코드를 봤다. 다양한 DI 방법 필드 주입 (비추) 필드 변수에 @Autowired 선언 외부에서 수정이 불가능 의존성 주입을 남발 가능성 있음(주입하는 class 생성자가 많을 경우) -> 의존성, 결합에 대한 문제가 발생 -> 단일 책임 원칙에 위배 final 키워드를 통한 선언이 불가능하므로 객체가 mutable 테스트 시 불편함 반드시 DI 프레임워크의 도움을 받아야 함, 테스트에서는 DI 프레임워크 사용 못해서 NPE 발생함 ..
원인 필드 주입 사용 public class MailSender { @Autowired private JavaMailSender javaMailSender; public void sendText(String msg, String mailReceiver) { javaMailSender.sendText(msg, mailReceiver); } } 테스트 코드 작성 public class MailSenderTest { @Test public void mailSendTest { MailSender mailSender = new MailSender(); String mailReceiver = "asdf@test.com"; mailSender.sendText("테스트", mailReceiver); } } 테스트에서 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bQILKs/btssGieR4ZV/mb80xFZycDQutxsPycCRaK/img.jpg)
시작하기 앞서 도메인이 무엇인지, 도메인 주도 설계(Domain-Driven Design)란 무엇인지부터 가볍게 알고 넘어가자. 도메인이란 사전적 의미는 '영역', '집합'이다. '실세계에서 사건이 발생하는 집합' 이라고 생각하면 쉬울 것 같다. DDD에서 말하는 도메인은 비즈니스 도메인을 말하며, 비즈니스 도메인은 유사한 업무의 집합이다. 쇼핑몰을 예로 들면, 쇼핑몰에서는 손님들이 주문하는 도메인(Order Domain)이 있을 수 있고, 직원입장에선 옷들을 관리하는 도메인(Manage Domain)이 있을 수 있고, 결제를 담당하는 도메인(Payment Domain)이 있을 수 있다. 이렇게 여러가지 도메인들이 상호작용하며, 비즈니스 도메인별로 나누어 설계하는 것이 바로 도메인 주도 설계(이하 DDD..