반응형
3. java based
@Bean
public 반환형 bean이름(){
return 객체;
}
- DTO
public class MemberDTO {
private int sequence;
private String id;
private String pwd;
private String name;
public MemberDTO() {}
public MemberDTO(int sequence, String id, String pwd, String name) {
super();
this.sequence = sequence;
this.id = id;
this.pwd = pwd;
this.name = name;
}
public int getSequence() {
return sequence;
}
public void setSequence(int sequence) {
this.sequence = sequence;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "MemberDTO [sequence=" + sequence + ", id=" + id + ", pwd=" + pwd + ", name=" + name + "]";
}
- 메타 정보를 가지고 있는 클래스 정의
@Configuration
: 클래스가 설정 메타 정보를 가지고 있다는 의미
@Bean
: Bean 등록시 작성, 메소드 위에
@Bean(name="myName") or @Bean("maName")의 형식으로 bean의 id를 설정할 수 있음
여러 속성을 정의할 수 있고, name만 쓴다면 이름만 써도 가능
@Configuration
public class ContextConfiguration {
@Bean(name="member")
public MemberDTO getMember() {
return new MemberDTO(1, "user01", "pass01", "홍길동");
}
}
- 빈 팩토리 설정하고 출력하기
AnnotationConfigApplicationContext
: 어노테이션 설정 정보를 읽어서 컨테이너 설정을 하는 구현체
Spring aop 라이브러리 필요
public class Application {
public static void main(String[] args) {
인자로 @Configuration 어노테이션이 달린
설정 클래스의 메타 정보를 전달하여 인스턴스를 생성
ApplicationContext context = new AnnotationConfigApplicationContext(ContextConfiguration.class);
값 꺼내기
MemberDTO member = context.getBean("member",MemberDTO.class);
System.out.println(member);
}
}
출력 결과
MemberDTO [sequence=1, id=user01, pwd=pass01, name=홍길동]
반응형
'프로그래밍 > Spring & Spring boot' 카테고리의 다른 글
06 Spring : Setter 메소드 / 생성자를 통한 의존성 주입 방법 (0) | 2022.09.01 |
---|---|
05 Spring : DI(의존성 주입) (0) | 2022.09.01 |
03 Spring : Bean 등록 방법_ ComponentScan - basePackages (0) | 2022.09.01 |
02 Spring : Bean 등록방법_ XML based (0) | 2022.09.01 |
01 Spring : Spring IoC / 스프링 컨테이너 (0) | 2022.08.31 |