728x90
반응형
@Autowrired
스프링에서는 @Autowired 를 이용해서 개발자가 만든 클래스들의 빈을 직접 자바 코드에서 생성하여 사용합니다.
@Autowired 특징
- 기존 XML 파일에서 각각의 빈을 DI 로 주입했던 기능을 코드에서 애너테이션으로 자동으로 수행합니다.
- @autowired 를 사용하면 별도의 setter 나 생성자 없이 속성에 빈을 주입할 수 있습니다.
[ Controller ]
...
// @Controller 를 이용해 Controller 빈을 자동 생성
@Controller("memberController")
public class MemberControllerImpl implements MemberController {
// @Autowired 를 이용해 Service 빈을 자동 주입
@Autowired
private MemberService memberService;
// @Autowired 를 이용해 VO 빈 자동 주입
@Autowired
private MemberVO memberVO ;
...
[ Service ]
...
// @Service 를 이용해 Service 빈을 자동 생성
@Service("memberService")
@Transactional(propagation = Propagation.REQUIRED)
public class MemberServiceImpl implements MemberService {
// @Autowired 를 이용해 DAO 빈을 자동 주입
@Autowired
private MemberDAO memberDAO;
...
[ DAO ]
...
// @Repository 를 이용해 DAO 빈을 자동 생성
@Repository("memberDAO")
public class MemberDAOImpl implements MemberDAO {
// @Autowired 를 이용해 XML 설정 파일에서 생성한 sqlSession 빈을 자동 주입
@Autowired
private SqlSession sqlSession;
...
[ Component ]
...
// @Component 를 이용해 VO 빈 자동 생성
@Component("memberVO")
public class MemberVO {
...
주입되는 과정은 앞에서 XML 파일로 설정한 것과 동일합니다.
여기까지 임미다.
728x90
'개발 > Spring' 카테고리의 다른 글
스프링 REST API - @RequestBody & @ResponseBody (0) | 2022.11.18 |
---|---|
스프링 REST API - @PathVariable (0) | 2022.11.18 |
스프링 REST API - @RestController (0) | 2022.11.18 |
스프링 인터셉터(Interceptor) (0) | 2022.11.18 |
메이븐(Maven) 구성요소 (0) | 2022.11.17 |
스프링 애너테이션(Annotation) (0) | 2022.11.16 |
스프링 트랜잭션(Transaction) (0) | 2022.11.16 |
스프링 마이바티스 연동 (0) | 2022.11.16 |
마이바티스(Mybatis) (0) | 2022.11.15 |
스프링 JDBC(Java Database Connectivity) (0) | 2022.11.15 |