일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django apache deploy error
- 18233 java
- django 프로젝트 시작
- apache pythonpath
- django settings.py
- 2643 색종이 올려 놓기
- java di
- 2661 좋은 수열
- django windows 배포 에러
- 1188 java
- 14711 java
- Problems occurred while performing provisioning operation
- django
- APPEND_SLASH = FALSE
- 2643 java
- 원격 연결 포트 포워딩
- windows 원격 연결 설정
- 1188 음식 평론가
- 14711 타일 뒤집기
- 2961 java
- 18233 비트마스킹
- The requested operation has failed!
- django 웹 페이지
- 공유기 원격 설정
- 2961 도영이가 만든 맛있는 음식
- django httpd error
- windows apache wsgi 에러
- 18233 러버덕
- django The requested operation has failed!
- 2661 java
목록Java/DI (5)
라이브러리는 도서관 아닌가요
이전 포스트( https://verycrazy.tistory.com/60 )에서 작성한 내용은 @Autowired 를 기반으로 하고 있다. 이번에는 비슷한 역할을 하지만 Java 자체에서 제공하는 @Resource 를 살펴보자. 먼저 이전과 같은 xml 파일, setting.xml 그 다음으로 변경 전 @Autowired myPackage/Laptop.java package myPackage; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; public class Lap..
바로 앞에서 ( https://verycrazy.tistory.com/59 ) @Autowired를 사용해서 바인딩을 했다. 문제는, 이게 설정 파일의 무엇을 기준으로 진행되냐는 것이다. 바로 '타입'이다. 이전 코드 를 아래와 같이 aKeyboard의 id를 변경해보자. 변경 코드 위처럼 변경하더라도, 잘 동작한다. @Autowired는 처음 찾을 때는 id에 기반을 두지 않고, 타입에 맞춰서 생성된 단 하나의 객체를 찾기 때문이다. 그럼 아래처럼 id가 다른 두 개의 객체를 생성해버리면 당연히 오류가 나지 않을까? 역시 에러를 뿜는다. 이 때 바로 @Qualifier의 도움을 받아 id를 통해 찾을 수 있는 것이다. Laptop.java 코드를 살펴보자. package myPackage; import..
이전 포스트( https://verycrazy.tistory.com/38?category=1027221 )의 내용에서 어노테이션을 붙여 더욱 간결하게 DI를 진행해보자. Java 상에서 @와 합쳐진 문자열을 Annotation이라고 한다. 여기서 사용할 어노테이션은 @Autowired이다. 기존에 java코드를 건드리지 않고 xml을 이용해서 DI를 진행했다. 하지만 이것은 java로 개발하는 것과 다소 거리가 느껴져, 이러한 설정을 java 코드 상에서 직관적으로 다룰 수 있도록 결국에는 java에 @Autowired라는 어노테이션을 가져온다. 그리고 이것이 Spring 개발의 트렌드다. 사용 방법을 살펴보자 설정자 메서드의 속성이 되는 객체에 @Autowired를 붙여놓고 기존 xml 파일에 존재하는..
* Spring Tool 3 (Add-On)이 설치되고 관련 플러그인이 등록돼 있어야 합니다. 순수 Java를 벗어나 spring의 도움을 얻어 xml 파일로 DI를 해결해보자. 앞선 포스트에서 구현한 내용을 참고하여 진행한다. ( DI 1 : https://verycrazy.tistory.com/34?category=1027221 ) // myPackage.Keyboard interface Keyboard{ String getKeyboardBrand(); } // myPackage.KoreaKeyboard public class KoreaKeyboard implements Keyboard{ public String getKeyboardBrand(){ return = "한국산 키보드"; } } // my..