MCPcopy Create free account
hub / github.com/castello/spring_basic / ApplicationContextTest

Class ApplicationContextTest

ch3/ApplicationContextTest.java:38–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36}
37
38public 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"?>

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected