[TIL/220411]

young.h·2022년 4월 11일
0

TIL

목록 보기
11/29
post-thumbnail

WORK

어제 공부한 걸 바탕으로 간단하게 소스 리팩토링 했다.

DI가 다 필드 주입으로 되어 있었다. 그리고
@Autowirdd가 아니라 @Resource로 되어 있었다.
다 생성자 주입으로 바꾸었음!
@RequiredArgConstructor 달고
private final ~로 바꿔주었다.

TROUBLE SHOOTING

error creating bean with name ~
unsatisfied dependency expressed through parameter 0

기존 소스를 바탕으로 비슷한 시스템을 연결하는 작업이라 소스를 복붙했는데
implements 하고 뒤에 serviceImpl 소스를 안바꿔줘서 게속 bean을 못찾는 오류가 났었다.

LEARN

@Autorequired

  • spring에서 지원
  • 아래 순서로 어노테이션을 찾아 의존성 주입
    • Type -> name -> @Qualifier -> fail
  • 멤버변수, setter메소드, 생성자, 일반 메소드에 적용 가능

@Resorce

  • java에서 지원
  • 아래 순서로 어노테이션을 찾아 의존성 주입
    • name -> Type -> @Qualifier -> fail
      @Resorce("resourceName")
  • <context:annotation-config/> 구문을 꼭 xml 설정파일에 추가해야 함
  • 멤버변수 , setter 메소에 적용 가능

아. 처음으로 실무에서 junit 이용해서 배치 테스트 짜서 실행해보았다.
이것도 사실 전에 테스트 코드가 남아 있어서 보고 따라해 본 것...
버전이 너무 예전 것들이라 그런지 내가 배운 어노테이션이나 구글링해서 나오는 것들 중에
아예 import 자체가 안되는 것들이 많아서 아쉬웠다. 테스트 소스에서 내가 만든 소스가 import가 안돼서 찾아보니 @SpringBootTest 같은 어노테이션을 붙여라 등등 여러 방법이 나왔는데 저런 어노테이션 자체가 사용이 불가능했다....^_ㅠ

TOMORROW

파일명이랑 컬럼명 받아서 XML 수정하기
junit test 재도전!

MEMO

0개의 댓글