일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lambda
- jwt
- hashcode
- java
- VUE
- MSA
- 바이너리 카운팅
- 재정의
- StringBuilder
- equals
- docker
- 인덱스
- 테스트 코드
- redis
- Test
- jpa
- 열 속성
- stream
- DI
- AOP
- 조합
- KEVISS
- DDL
- select_type
- cache
- 생성자 주입
- SQL
- static
- 필드 주입
- Spring
- Today
- Total
목록Spring (3)
백엔드 개발자 블로그
![](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); } } 테스트에서 ..