| 36 | } |
| 37 | |
| 38 | public class ApplicationContextTest { |
| 39 | public static void main(String[] args) { |
| 40 | ApplicationContext ac = new GenericXmlApplicationContext("config.xml"); |
| 41 | // Car car = ac.getBean("car", Car.class); // 타입을 지정하면 형변환 안해도됨. 아래의 문장과 동일 |
| 42 | Car car = (Car) ac.getBean("car"); // 이름으로 빈 검색 |
| 43 | Car car2 = (Car) ac.getBean(Car.class); // 타입으로 빈 검색 |
| 44 | System.out.println("car = " + car); |
| 45 | System.out.println("car2 = " + car2); |
| 46 | |
| 47 | System.out.println("ac.getBeanDefinitionNames() = " + Arrays.toString(ac.getBeanDefinitionNames())); // 정의된 빈의 이름을 배열로 반환 |
| 48 | System.out.println("ac.getBeanDefinitionCount() = " + ac.getBeanDefinitionCount()); // 정의된 빈의 개수를 반환 |
| 49 | |
| 50 | System.out.println("ac.containsBeanDefinition(\"car\") = " + ac.containsBeanDefinition("car")); // true 빈의 정의가 포함되어 있는지 확인 |
| 51 | System.out.println("ac.containsBean(\"car\") = " + ac.containsBean("car")); // true 빈이 포함되어 있는지 확인 |
| 52 | |
| 53 | System.out.println("ac.getType(\"car\") = " + ac.getType("car")); // 빈의 이름으로 타입을 알아낼 수 있음. |
| 54 | System.out.println("ac.isSingleton(\"car\") = " + ac.isSingleton("car")); // true 빈이 싱글톤인지 확인 |
| 55 | System.out.println("ac.isPrototype(\"car\") = " + ac.isPrototype("car")); // false 빈이 프로토타입인지 확인 |
| 56 | System.out.println("ac.isPrototype(\"door\") = " + ac.isPrototype("door")); // true |
| 57 | System.out.println("ac.isTypeMatch(\"car\", Car.class) = " + ac.isTypeMatch("car", Car.class)); // "car"라는 이름의 빈의 타입이 Car인지 확인 |
| 58 | System.out.println("ac.findAnnotationOnBean(\"car\", Component.class) = " + ac.findAnnotationOnBean("car", Component.class)); // 빈 car에 @Component가 붙어있으면 반환 |
| 59 | System.out.println("ac.getBeanNamesForAnnotation(Component.class) = " + Arrays.toString(ac.getBeanNamesForAnnotation(Component.class))); // @Component가 붙은 빈의 이름을 배열로 반환 |
| 60 | System.out.println("ac.getBeanNamesForType(Engine.class) = " + Arrays.toString(ac.getBeanNamesForType(Engine.class))); // Engine 또는 그 자손 타입인 빈의 이름을 배열로 반환 |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | /* [src/main/resources/config.xml] |
| 65 | <?xml version="1.0" encoding="UTF-8"?> |
nothing calls this directly
no outgoing calls
no test coverage detected