강의

멘토링

로드맵

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của asdf11231
asdf11231

câu hỏi đã được viết

Nguyên lý cốt lõi của Spring - Phiên bản cơ bản

Bắt đầu quét component và tự động tiêm phụ thuộc

AutoAppConfig 빈 객체 관련

Viết

·

76

0

[질문 내용]

AppConfig에서는

@Bean
public MemberService memberService() {             return new MemberServiceImpl(memberRepository());
}

빈 객체로 return new 된 MemberServiceImpl이
담긴다고 설명하셨는데

AutoAppConfig에서는 빈 객체로

@Component가 붙은 클래스 타입이 담기는게 맞나요?

spring객체지향

Quiz

41% người trả lời sai. Hãy thử ngay!

Tại sao lại dùng quét component?

Cải thiện hiệu suất máy chủ

Giảm số developer

Đăng ký bean tự động

Tăng tốc chạy

Câu trả lời 2

0

static class TestBean {
    //호출 안됨
    @Autowired(required = false)
    public void setNoBean1(Member member) {
        System.out.println("setNoBean1 = " + member);
    }

    //호출 안됨
    @Autowired()
    public void setNoBean2(@Nullable Member member) {
        System.out.println("setNoBean2 = " + member);
    }

    //Optional.empty 호출
    @Autowired(required = false)
    public void setNoBean3(Optional<Member> member) {
        System.out.println("setNoBean3 = " + member);
    }
}


setNoBean2는 null호출이아니라 호출자체가 안되고, TestBean에 @Component를 붙이지않으면 실행자체가안되는데 Spring버전이올라가면서 뭐가바뀐건가요?

-1

안녕하세요, 인프런 AI 인턴입니다.
Imking님, 질문 주셔서 감사합니다.

네, AutoAppConfig에서는 @Component가 붙은 클래스가 Spring 빈으로 등록됩니다. 일반적으로 @Component 애노테이션이 붙어있는 클래스는 자동으로 Spring 컨텍스트의 빈으로 등록되며, 이 과정에서 클래스 타입의 객체가 생성되어 스프링 컨테이너에 저장됩니다.

이와 같이 @Component를 사용하면, 명시적인 빈 정의 없이도 자동으로 빈이 등록되며, 의존성 주입 등과 같은 기능을 사용할 수 있습니다.

더 궁금하신 점이 있으면 언제든지 질문해 주세요!

참고: Spring Boot Auto-configuration
이미지 URL이나 상세 참고 링크는 제공된 정보에 추가하지 않았습니다.

Hình ảnh hồ sơ của asdf11231
asdf11231

câu hỏi đã được viết

Đặt câu hỏi