728x90 자바15 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. Annotation 어노테이션은 메타데이터의 한 형식이다. 어노테이션은 어노테이션을 달은 연산에 대해 직접적인 영향을 주지 않는다. 어노테이션을 다음과 같은 목적으로 사용될 수 있다. 1. Information for the compiler: 어노테이션을 통해 에러를 찾아내고 경고를 억제할 수 있다. 2. Compile-time and deployment-time processing: 소프트웨어 툴들은 어노테이션을 실행해 코드를 나타낼 수 있다. 3. Runtime processing: 일부 어노테이션들은 런타임에 검증되는 데에 사용될 수 있다. Annotations Basics The Format of an Annotation 어노테이션에서 '@'는 컴파일러에게 다음에 오는 것이 어노테이션임을 알려주며 어노테이션은 다음과.. 2022. 4. 23. 이전 1 2 3 4 다음 728x90