일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Atomicity
- open-session-in-view
- 그래프큐엘
- IOC
- jpa no session
- fetch join
- 스프링
- 기능적 요구사항
- 수정자주입
- 소프트웨어의 품격
- spring formatter
- 스프링시큐리티
- 도커 이미지 빌드
- ioc컨테이너
- jpa lazy
- 스프링 포매터
- 토비의 스프링
- 스프링 시큐리티 설정
- Spring
- kotlin ::
- method refetence
- 정적팩토리메서드
- 비기능적 요구사항
- 동적파라미터
- java predicate
- 자바 필터
- 스프링부트 도커
- 생성자주입
- kotlin 리팩터링
- 스프링di
Archives
- Today
- Total
공부기록
[Spring]비즈니스 인터페이스에서 의존성을 정의하지 말라. 본문
반응형
public interface Oracle {
String defineMeaningOfLife();
}
public class BookwormOracle implements Oracle{
private Encyclopedias encyclopedias;
public void setEncyclopedias(Encyclopedias encyclopedias) {
this.encyclopedias = encyclopedias;
}
@Override
public String defineMeaningOfLife() {
return "Encyclopedias are a waste of money - go see the world instead";
}
}
BookwormOracle.java
는 interface Oracle
을 구현했을 뿐만 아니라 의존성 주입을 위한 수정자도 정의했다.
구현 클래스 각각이 자신의 의존성을 각자 정의하고, 비즈니스 인터페이스에서는 비즈니스 메서드만 유지해야한다.
만약 인터페이스에 setEncyclopedias 같은 의존성 주입 메서드를 정의한다면, 해당 인터페이스의 모든 구현체가 encyclopedias 의존성을 사용하거나 최소한 인지하도록 강제하는 것. 유연성이 떨어진다.
반응형
'Spring' 카테고리의 다른 글
java config으로 하는 Spring 셋팅. (0) | 2019.11.08 |
---|---|
스프링 기본 설정하는 법 feat. Spring5, MyBatis, Eclipse (0) | 2019.11.03 |
@PathVariable (0) | 2019.10.20 |
@RequestMapping의 value 패턴. (0) | 2019.10.19 |
[SPRING SECURITY] ignoring() - 필터에서 벗어나보자 (0) | 2019.10.18 |