본문 바로가기

개발/Spring

스프링 @Autowired

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