Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 영속성 컨텍스트
- @Bean
- 자동주입
- 객체
- @transactional
- 리액트
- mysql
- 이클립스
- 깃허브
- list
- pom.xml
- Spring legacy Project
- 인터페이스
- merge
- spring
- react
- 의존성주입
- 어노테이션
- 상속
- DI
- 자바
- java
- Spring 개발환경 설정
- 스프링
- github
- 스프링 컨테이너
- 빈
- 트랜잭션
- springboot
- JVM
Archives
- Today
- Total
DEVLOG
Service & Dao 객체 구현 본문
자바의 new 키워드를 이용한 객체생성 및 참조는 메모리 비효율성을 초래하나, 스프링의 객체생성은 스프링 컨테이너를 통해 빈(Bean) 객체를 생성하므로 메모리 효율성이 높다.
그러나 스프링 설정파일을 일일이 열어서 빈(Bean) 객체를 생성하는 것보다 더 쉬운 방법이 존재한다.
바로 @Service, @Component, @Repository 어노테이션 사용이다.
이들은 스프링 컨테이너(Servlet-context.xml)에 빈(Bean) 객체를 만드는 것과 동일한 기능을 하며, 생성된 객체를 사용하고 싶은 곳에서 @Autowired 또는 @Resource("name") 어노테이션으로 자동주입하여 간단하게 객체를 생성하고 활용할 수 있다.
MemberDao.java
//@Component OR
@Repository
public class MemberDao implements IMemberDao {
...
}
어노테이션으로 스프링 컨테이너에 MemberDao 객체가 만들어졌으므로 필요한 곳에 @Autowired 어노테이션으로 자동주입하면 된다.
MemberService.java
memService라는 값으로 MemberService 객체 생성
//@Service OR
//@Service("memService") OR
//@Component OR
//@Component("memService") OR
//@Repository OR
@Repository("memService") // memService라는 name으로 MemberService 객체 생성
public class MemberService implements IMemberService {
@Autowired // 동일한 데이터타입 찾아서 자동주입
MemberDao dao;
}
MemberController.java
@Controller
public class MemberController {
// MemberService service = new MemberService();
// @Autowired 대신
@Resource(name="memService") // @Autowired와 같이 자동주입 기능(빈의 이름을 이용해서 주입할 객체를 검색)
MemberService service;
}
🙆♂️출처🙇♂️
자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌 - 인프런 | 강의
스프링 프레임워크 기본부터 실전 사용법까지! 충실하고 폭넓은 설명과 예제를 통해 현장에 바로 투입되어 활약하는 개발자로 거듭나세요., - 강의 소개 | 인프런...
www.inflearn.com
'Spring' 카테고리의 다른 글
Controller 객체 구현 - 2 (0) | 2022.06.11 |
---|---|
Controller 객체 구현 - 1 (0) | 2022.06.11 |
웹 서버(Tomcat)와 이클립스 연동 (0) | 2022.06.09 |
웹 프로그래밍 설계 모델 (0) | 2022.06.08 |
어노테이션을 이용한 스프링 설정 - 2 (0) | 2022.06.08 |
Comments