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 |
Tags
- 싱글톤컨테이너
- 로딩이미지변경
- react
- singleton container
- annotaion
- flex-grow
- aws
- WITH절
- 싱글톤
- 마진상쇄
- 빈
- 코딩
- 톰캣실행
- setrealrowsize
- DB #데이터베이스
- 스프링 빈
- Spring
- BEAN
- cron표현식
- 넥사크로
- CSS
- frontend
- gif초기화
- Grid
- HTML
- loadingimage
- decoratetext
- flex-basis
- singleton
- 넥사크로loadingimage
Archives
- Today
- Total
All Day Tired
스프링컨테이너, 스프링빈 등록/주입 본문
기본 강의를 듣는데 참 신기하다 신기해...
왜이렇게 새로울까...
스프링 컨테이너
스프링 컨테이너는 스프링 서버 내부에 거대한 컨테이너(상자)
이 컨테이너 안에는 클래스들이 들어감
그리고 컨테이너 안에 들어간 클래스들은 스프링 빈이라고 부름
컨테이너로 클래스가 들어갈 때 이 들어가는 빈에 대한 다양한 정보들을 컨테이너가 저장하고 인스턴스화(쉽게 생각하자면 new를 해준다)도 함
아래와 같은 일이 일어나게 됨
스프링 빈 등록
스프링 빈을 등록하는 것은 크게 2가지로 생각할 수 있다.
1) @Service, @Repository 같은 어노테이션으로 스프링 빈을 등록
개발자가 직접 만든 클래스를 스프링 빈으로 등록할 때 보통 저런 어노테이션을 써서 등록하게 됨
2) @Configuration + @Bean 조합으로 스프링 빈을 등록
외부 라이브러리나 프레임워크에 만들어져 있는 클래스를 스프링 빈으로 등록할 때 주로 사용
사실 @Controller, @Service, @Repository, @Configuration 이런 어노테이션은 @Component를 상속 받아서 스프링 빈으로 등록될 수 있던 것이다.
그래서 컨트롤러도 아니고 서비스도 아니고 리포지터리도 아닌 클래스를 스프링 빈에 등록할 때 종종 @Component를 사용하기도 한다
스프링 빈 주입
빈은 등록했다면 주입하는 방법은 무엇...?
주입하는 방법은 크게 3가지로 볼 수 있다.
1) 생성자를 이용해 주입
@Repository
public class XXXRepository{
private final JdbcTemplate jt;
public XXXRepository(JdbcTemplate jt){
this.jt = jt;
}
}
2) setter 사용
@Repository
public class XXXRepository{
private JdbcTemplate jt;
@Autowired
public void setJdbcTemplate(JdbcTemplate jt){
this.jt = jt;
}
}
3) @Autowired
@Repository
public class XXXRepository{
@Autowired
private JdbcTemplate jt;
}
'Back > Spring' 카테고리의 다른 글
@Configuration(feat.싱글톤) (0) | 2025.01.02 |
---|---|
싱글톤, 싱글톤 컨테이너 (2) | 2024.12.31 |
@Scheduler, cron표현식 사용 (0) | 2024.10.27 |
스프링 빈 등록 (0) | 2024.09.23 |
스프링에서 RestTemplate 예제 (0) | 2024.08.20 |
Comments