반응형
SMALL
package com.in28munutes.learnspringframework;
import java.util.Arrays;
import org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration.AnnotationConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class App02HelloWordSpring {
public static void main(String[] args) {
//1. Launch a Spring Context
var context = new AnnotationConfigApplicationContext(HelloWorldConfiguration.class);
//2. Configure the things that we want Spring to manage
System.out.println(context.getBean("name"));
System.out.println(context.getBean("age"));
System.out.println(context.getBean("person"));
System.out.println(context.getBean("person2MethodCall"));
System.out.println(context.getBean("person3Parameters"));
System.out.println(context.getBean("address2"));
System.out.println(context.getBean("address3"));
System.out.println(context.getBean(Address.class));
System.out.println(context.getBean(Person.class));
System.out.println(context.getBean("person5Qualifier"));
//Arrays.stream(context.getBeanDefinitionNames()).forEach(System.out::println); //모든 Bean이름을 출력
}
}
package com.in28munutes.learnspringframework;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
record Person(String name, int age, Address address) {};
record Address(String firstLine, String City) {};
@Configuration
public class HelloWorldConfiguration {
@Bean
public String name() {
return "Ranga";
}
@Bean
public int age() {
return 15;
}
@Bean
public Person person() {
return new Person("Ravi",20, new Address("new","Address"));
}
@Bean
public Person person2MethodCall() {
return new Person(name(), age(), address());
}
@Bean
public Person person3Parameters(String name, int age, Address address3) {//name,age,address2,
return new Person(name, age, address3);
}
@Bean
@Primary
public Person person4Parameters(String name, int age, Address address3) {
return new Person(name, age, address3);
}
@Bean
public Person person5Qualifier(String name, int age, @Qualifier("address3qualifier") Address address) {
return new Person(name, age, address);
}
@Bean(name = "address2")
@Primary
public Address address() {
return new Address("baker street","London");
}
@Bean(name = "address3")
@Qualifier("address3qualifier")
public Address address3() {
return new Address("Parame","ters");
}
}
Ranga
15
Person[name=Ravi, age=20, address=Address[firstLine=new, City=Address]]
Person[name=Ranga, age=15, address=Address[firstLine=baker street, City=London]]
Person[name=Ranga, age=15, address=Address[firstLine=baker street, City=London]]
Address[firstLine=baker street, City=London]
Address[firstLine=Parame, City=ters]
Address[firstLine=baker street, City=London]
Person[name=Ranga, age=15, address=Address[firstLine=baker street, City=London]]
Person[name=Ranga, age=15, address=Address[firstLine=Parame, City=ters]]
반응형
LIST
'Spring > Spring framework' 카테고리의 다른 글
Spring framework (0) | 2023.09.11 |
---|---|
Java Bean, POJO, Spring Bean (0) | 2023.09.10 |
Spring 전체구조 (0) | 2023.08.26 |
Spring Stereotype Annotations (0) | 2023.08.26 |
Java 어노테이션과 XML 설정 (0) | 2023.08.25 |