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