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
- interface
- 중첩for문
- 다형성
- Break
- 상수
- 이클립스
- javascript
- 자바
- If
- jsp
- 삼항 연산식
- extends
- super()
- for문
- 상속
- docker
- 인터페이스
- arraylist
- Else If
- 배열
- 문자열
- 삼항 연산
- 2차원 배열
- rs.next()
- 이중 배열
- Integer.MIN_VALUE
- Integer.MAX_VALUE
- 오버로딩
- 메소드
- scanner
Archives
- Today
- Total
개발로드
☆KDT 2024-03-21★SpringBoot-Maven-Mapper,@Service,@Repository 본문
스프링빈
스프링IoC(Inversion of Control, 제어의 역전) 컨테이너에 의해 생성되고 관리되는 객체
IoC 컨테이너가 애플리케이션의 객체를 관리하고 필요한 곳에 주입(DI, Dependency Injection)
스프링 빈을 정의 - xml, annotation, 자바설정 클래스 등을 사용
SQL Mapper(Mybatis, Hibernate,...)
database와 자바 객체간의 맵핑을 담당하는 역할을 하는 프레임워크 또는라이브러리
sql 쿼리문을 자바 코드에서 분리하여 관리 => 관심사의 분리
database 테이블의 레코드를 자바 객체로 맵핑하는 기능을 제공
메소드 호출을 (insert(), select(), ...) 통해서 쿼리문을 실행
Annotaion

@Repository :
- 스프링 프레임워크에서 사용, DAO 클래스
- 스프링이 예외 처리와 트랜잭션 관리를 포함한 다양한 기능을 지원
- 자동 빈 등록: 스프링의 컴포넌트 스캔 기능을 이용해서 @Repository가 붙은 클래스들을 빈으로 자동 등록
- database나 외부 API와의 상호 작용을 담당하는 클래스에 사용
@Mapper :
- MyBatis의 xml mapper 파일과 대응되는 mapper interface를 나타냄

비즈니스 로직:
- 업무의 핵심을 담당
- 애플리케이션에서 특정한 업무나 기능을 수행하기 위해 필요한 처리와 규칙
- 데이터를 처리, 계산, 변환, 유효성을 검사
- 애플리케이션이 실제로 서비스를 실행할 때 필요한 로직
서비스 계층:
- 컨트롤러 한테 요청을 받아서 해당 요청에 대한 비즈니스 로직을 수행하고 데이터 액세스 계층을 통해서 데이터를 처리한 후 결과를 반환하는 역할
@Service:
- 해당 클래스가 서비스 계층(Service Layer)의 구현체임을 나타냄
- 서비스 빈
- 스프링의 IoC(Inversion of Control) 컨테이너가 이를 스캔해서 빈으로 등록하고 관리
- 주로 controller와 데이터 액세스 계층(DAO, repository)간의 중간 단계로서 비즈니스 로직을 수행하고 데이터 처리를 담당
- 해당 클래스의 인스턴스(객체)를 필요 하는 곳에 의존성 주입(Dependency Injection)을 통해서 사용
@Autowired:
- 스프링 프레임워크에서 사용되는 의존성 주입(Dependency Injection)을 자동화
- 필드 주입 : 의존성을 주입할 필드에 @Anutowired 사용
- 의존성이 하나일 때 주로 사용
- 생성자 주입(Constructor Injection) : 의존성을 주입할 생성자에 @Autowired 사용
- 주로 의존성이 여러 개일 때 사용되며, 의존성 주입을 보장하기 위해 권장되는 방식
- 세터 주입(Setter Injection) : 의존성을 주입할 세터 메소드에 @Autowired 사용
- 이 방식은 선택적인 의존성을 가질 때 사용
여유가 되신다면 제 GitHub에 오셔서 좋은 코드들을 구경해주세요!

https://github.com/gimpo5975?tab=repositories
gimpo5975 - Overview
gimpo5975 has 6 repositories available. Follow their code on GitHub.
github.com
'JAVA' 카테고리의 다른 글
| ☆KDT 2024-04-01★SpringBoot-Maven-MyBatis (0) | 2024.04.01 |
|---|---|
| ★KDT 2024-03-26☆SpringBoot-Maven-Model, 바인딩, textContent() (0) | 2024.03.28 |
| ★KDT 2024-03-26☆SpringBoot-Maven-기본셋팅,파일생성 (0) | 2024.03.26 |
| ☆KDT 2024-03-21★File업로드 연습 (0) | 2024.03.26 |
| ★KDT 2024-03-22☆StringBuffer (0) | 2024.03.22 |