본문 바로가기
728x90

도서55

Item 12. toString을 항상 재정의하라 Object의 기본 toString() 메서드는 다음과 같다. 1 2 3 public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } Colored by Color Scripter cs 따라서 기본 toString() 메서드를 그냥 사용한다면 유의미한 정보를 얻기 어렵다. 따라서 모든 하위 클래스에서 toString을 재정의 해야 한다. toString() 메서드를 직접 호출할 일은 드물다. 하지만, 객체를 println, printf, 문자열 연결 연산자(+), assert 구문에 넘길 때, 디버거가 객체를 출력할 때 자동으로 불린다. 또 한, 에러 로깅에도 사용할 수 있다. 따라서 toS.. 2022. 5. 8.
Chapter 6. 빈 라이프사이클 범위 컨테이너 초기화와 종료 스프링 컨테이너는 초기화, 종료 라는 라이프 사이클을 갖는다. 1 2 3 4 5 6 7 8 // 스프링 컨테이너 초기화 // 스프링 컨테이너는 설정 클래스에서 정보를 읽어와 알맞은 빈 객체를 생성하고 // 의존 주입 하는 작업을 수행한다. AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppCtx.class); // 초기화된 컨테이너를 사용한다 - 메서드를 이용해 컨터이너에 보관된 빈 객체를 구한다. Greeting greeting = context.getBean("greeting", Greeting.class); // 컨테이너를 종료한다. context.close(); Colo.. 2022. 5. 5.
Chapter 5. 컴포넌트 스캔 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록하는 기능이다. 이 기능을 사용하면 설정 클래스를 사용하지 않아도 되므로 설정 코드가 줄어든다. @Componenet 어노테이션을 클래스에 사용해 해당 클래스를 스캔 대상으로 설정할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // @Component 어노테이션만 사용하면 // 클래스 이름에서 첫 글자를 소문자로 바꾼 이름이 // 빈 이름으로 사용된다. @Component public class Bean { public void printHello() { System.out.println("hello"); } } // 속성 값을 주면 해당 속성 값이 빈 이름으로 사용된다. @Component("bean1".. 2022. 5. 2.
Chapter 4. 의존 자동 주입 스프링이 자동으로 의존하는 빈 객체를 주입해주는 기능을 자동 주입이라 한다. 자동 주입을 위해서는 @Autowired 나 @Resource 어노테이션을 사용하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class ChangePasswordService { // 의존성 자동 주입 // 필드에 @Autowired 사용 @Autowired private MemberDao memberDao; ... } // 또는 public class ChangePasswordService { private MemberDao memberDao; // setter 메서드에도 사용할 수 있다. // setter에 @Autowired를 사용하면 스.. 2022. 5. 2.
728x90