작성
·
375
0
@Test
void findAllBean() {
ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class,DiscountService.class);
DiscountService discountService = ac.getBean(DiscountService.class);
DiscountService.class 를 파라미터로 넘기면서
해당 클래스를 자동으로 스프링 빈으로 등록한다고 알고 있습니다 .
static class DiscountService {
private final Map<String, DiscountPolicy> policyMap;
public DiscountService(Map<String, DiscountPolicy> policyMap) {
this.policyMap = policyMap;
DiscountService 클래스가 빈으로 등록되었으니
그럼 여기 DiscountService 생성자는
@Autowired 가 생략되어있다고 볼수 있는건가요?
@Test
void findAllBean() {
ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
DiscountService discountService = ac.getBean(DiscountService.class);
@Component
static class DiscountService {
private final Map<String, DiscountPolicy> policyMap;
@Autowired // 생성자가 1개인 경우 생략 가능
public DiscountService(Map<String, DiscountPolicy> policyMap) {
this.policyMap = policyMap;
위의 코드와 아래 코드는 동일하다고 볼 수 있나요?