스프링/1. 스프링 핵심 원리

34강. 의존관계 주입 옵션

sdafdq 2023. 7. 22. 01:08
@SpringBootTest
class CoreApplicationTests {

	@Test
	void contextLoads() {
	}

}

이게 스프링 빈 띄워주고 테스트 통합해주는 거

 

여기서는 @Autowired private MemberService memberService 

이런 거 해서 여기다가 바로바로 테스트 만들어서 하기도 함.

 

 

 

public class AutowiredTest {

    @Test
    public void autowiredOption(){
        ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class);

    }



    static class TestBean{
        @Autowired(required = false)
        public void setNoBean1(Member noBean1){
            System.out.println("noBean1 = " + noBean1);
        }

        @Autowired
        public void setNoBean2(@Nullable Member noBean2){
            System.out.println("noBean2 = " + noBean2);
        }

        @Autowired
        public void setNoBean3(Optional<Member> noBean3){
            System.out.println("noBean3 = " + noBean3);
        }

    }
}

Member는 Bean으로 등록하지 않은 상태임. 수동으로 @Bean 하거나 @Component 하지 않은 상태.

 

required = false

이거는 아예 주입할 Bean이 없으면 실행을 안함.

 

@Nullable

말 그대로. 실행함. null이 들어옴 없으면.

 

Optional<>

Optional.empty가 들어옴.

 

 

'스프링 > 1. 스프링 핵심 원리' 카테고리의 다른 글

36강. 롬복, 최신 트렌드  (0) 2023.07.22
35강. 생성자 주입을 사용하라.  (0) 2023.07.22
33강. 의존자 주입 방법들  (0) 2023.07.22
32강. 충돌, 중복등록  (0) 2023.07.21
31강. 필터  (0) 2023.07.21