파게로그
annotation을 이용한 객체 생성 본문
annotation을 활용한 객체 생성
클래스 위에 @Component를 붙이면.. 얘가 객체화된다.
<context:component-scan base-package="admin.school.ui, admin.school.entity" /> base-package에서 component를 스캔하라
<context:annotation-config /> 객체 생성하게 되면 안쪽도 읽기 때문에 얘는 더이상 필요가 없다
<bean id="exam" class="entity.MidTermExam" />
@Component("name") 을 통해서 객체에 이름을 부여할 수 있음
@Component의 종류와 시멘틱 @Component
annotation을 이용해 객체를 생성했다면, 초기값을 어떻게 설정할 수 있을까?
@Value annotation을 이용한다.
@Component
public class MidTermExam implements Exam {
@Value("20")
private int kor;
@Value("30")
private int eng;
/*
...
*/
}
@Component는 MVC로 웹 어플리케이션을 만들 때 비즈니스 로직을 가진 자바 코드에 대해서 @Component라고 한다. 이러한 일반적인 이름보다, 의미론적인 이름을 지닌 annotation이 있는데, @Controller(@RequestMapping, @GetMapping, @...), @Service, @Repository가 그것이다. 즉 객체화하고자 하는 클래스의 역할을 보다 명시적으로 알 수 있다.
MidTermExam은 entity이고.. 이는 @Component를 사용하지 않는 편이 적절하다.
또, 소스코드가 없는 (내가 만든게 아니거나.. 등등) 여타 클래스를 XML로 구현해야 하나?
'콤퓨타 왕기초 > Spring' 카테고리의 다른 글
AOP(Aspect Oriented Programming) (0) | 2021.04.21 |
---|---|
XML Configuration을 Java Configuration으로 변경하기 (0) | 2021.04.20 |
Annotation을 이용할 때의 장점과 @Autowired 를 이용한 DI (0) | 2021.04.15 |
Spring Bean configuration (0) | 2021.04.14 |
Spring 없이 직접 DI를 한다면? Spring의 역할 (0) | 2021.04.14 |