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
- CSS
- 싱글톤
- 마진상쇄
- Spring
- singleton
- 로딩이미지변경
- cron표현식
- 넥사크로
- 넥사크로loadingimage
- DB #데이터베이스
- flex-grow
- singleton container
- 빈
- 싱글톤컨테이너
- flex-basis
- frontend
- annotaion
- setrealrowsize
- WITH절
- react
- 톰캣실행
- 스프링 빈
- HTML
- BEAN
- aws
- decoratetext
- gif초기화
- 코딩
- loadingimage
- Grid
Archives
- Today
- Total
All Day Tired
스프링 빈 등록 본문
강의 듣다가 일하면서 쓴 방법이 아닌 빈 등록 방법이 있어서 기억할 겸 정리...
우선 빈을 등록하는 방법 전에 빈이란 뭐냐
Bean
- 서버가 시작되면 스프링 서버 내부에 컨테이너가 만들어지고 이 컨테이너 안에 클래스가 들어감
- 이 때 다양한 정보도 들어가고 인스턴스화 됨 -> 이렇게 컨테이너 안에 들어간 클래스를 스프링 빈이라 함
- 의존성이 있다면 스프링 컨테이너가 의존하는 것도 빈으로 등록함
- 즉, 스프링 컨테이너가 알아서 관리해주는 자바 객체
스프링이 빈으로 등록한 걸 찾아서 알아서 객채 생성해주고 이걸 통해서 제어의 역전도 일어나고 이렇다고 이해 중...
그렇다면 이런 빈을 등록하는 방법은?
- 컴포넌트 스캔과 자동 의존관계 설정
- 자바 코드로 직접 스프링 빈 등록
이렇게 2가지 방법이 있다.
1. 컴포넌트 스캔과 자동 의존관계 설정
이건 그냥 내가 회사에서 쓰는 방법이다.(어노테이션을 사용하는 방법)
@Component 어노테이션이 있으면 스프링 빈으로 자동 등록이 됨
@Controllor, @Service, @Repository들은 @Component을 포함하고 있어 알아서 스프링 빈으로 자동 등록
2. 자바 코드로 직접 스프링 빈 등록
src > main > java 보다는 하위 controller, service, repository 패키지 보다는 상위 위치에 빈을 등록할 class 파일을 추가(보통 ***Config 이름으로 지음)
<***Config.java>
@Configuration
public class ***Config{
@Bean
public ***Service **Service(){
return new ***Service(**Repository());
}
@Bean
public ***Repository **Repository(){
return new ***Repository();//추후 repository를 변경할 예정이라면 이 부분의 repository 이름만 변경해주면 됨
}
}
이런식으로 자바코드로 직접 빈을 등록하게 됨
controller는 어쩔 수 없이 @Controller를 사용해서 빈으로 등록해야 함
'Back > Spring' 카테고리의 다른 글
싱글톤, 싱글톤 컨테이너 (2) | 2024.12.31 |
---|---|
스프링컨테이너, 스프링빈 등록/주입 (0) | 2024.12.30 |
@Scheduler, cron표현식 사용 (0) | 2024.10.27 |
스프링에서 RestTemplate 예제 (0) | 2024.08.20 |
MyBatis parameterType이 HashMap일 경우 사용법 (0) | 2022.05.09 |
Comments