일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 동적파라미터
- 자바 필터
- 기능적 요구사항
- 스프링
- spring formatter
- IOC
- jpa lazy
- 소프트웨어의 품격
- Spring
- 도커 이미지 빌드
- open-session-in-view
- 비기능적 요구사항
- method refetence
- 스프링부트 도커
- 생성자주입
- ioc컨테이너
- 스프링 시큐리티 설정
- kotlin ::
- 토비의 스프링
- 수정자주입
- 스프링시큐리티
- jpa no session
- java predicate
- 정적팩토리메서드
- 스프링 포매터
- fetch join
- 스프링di
- kotlin 리팩터링
- Atomicity
- 그래프큐엘
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 |