Java/Spring Boot

[Java / Spring Boot] Service

2025. 2. 10. 14:25

Service

비즈니스 로직을 처리하는 컴포넌트

  • 컨트롤러와 리파지토리 사이에서 중재 역할을 함
  • `@Service`로 서비스 등록
@Service
public class AttachmentService {
	
	@Autowired
	private AttachmentDao attachmentDao;
	
	public int save(MultipartFile attach) throws IllegalStateException, IOException {
		if (attach.isEmpty()) return -1;
		File dir = new File("D:/upload");
		dir.mkdirs();
		
		int attachmentNo = attachmentDao.sequence();
		File target = new File(dir, String.valueOf(attachmentNo));
		attach.transferTo(target);
		
		AttachmentDto attachmentDto = new AttachmentDto();
		attachmentDto.setAttachmentNo(attachmentNo);
		attachmentDto.setAttachmentName(attach.getOriginalFilename());
		attachmentDto.setAttachmentType(attach.getContentType());
		attachmentDto.setAttachmentSize(attach.getSize());
		attachmentDao.insert(attachmentDto);
		return attachmentNo;
	}
}

Service 역할

 

비즈니스 로직 처리

애플리케이션의 주요 비즈니스 규칙 구현

  • 데이터를 검증하거나 계산하는 등의 작업

 

단일 책임 원칙

하나의 비즈니스 로직에 집중

 

Service 장점

 

유지보수성

비즈니스 로직을 한 곳에 집중시켜 유지보수성 높임

 

테스트 용이성

클래스를 독립적인 단위로 테스트

 

재사용성

여러 곳에서 재사용할 수 있음

 

 

'Java > Spring Boot' 카테고리의 다른 글

[Java / Spring Boot] ControllerAdvice  (1) 2025.02.11
[Java / Spring Boot] 파일 첨부  (0) 2025.02.10
[Java / Spring Boot] DBCP  (0) 2025.02.10
[Java / Spring Boot] AOP와 Interceptor, Configuration  (2) 2025.01.15
[Java / Spring Boot] Session  (0) 2025.01.15
'Java/Spring Boot' 카테고리의 다른 글
  • [Java / Spring Boot] ControllerAdvice
  • [Java / Spring Boot] 파일 첨부
  • [Java / Spring Boot] DBCP
  • [Java / Spring Boot] AOP와 Interceptor, Configuration
개발하는 벌꿀오소리
개발하는 벌꿀오소리
겁없는 벌꿀오소리처럼 끊임없이 도전하자!
  • 글쓰기 관리
  • 개발하는 벌꿀오소리
    벌꿀오소리의 개발 노트
    개발하는 벌꿀오소리
  • 전체
    오늘
    어제
    • 분류 전체보기 (74)
      • Java (60)
        • 기본 (23)
        • 모듈 (8)
        • 자료구조 (5)
        • 알고리즘 (0)
        • 파일 입출력 (5)
        • JDBC (5)
        • Spring Boot (14)
      • Oracle (13)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 공지사항

  • hELLO· Designed By정상우.v4.10.3
개발하는 벌꿀오소리
[Java / Spring Boot] Service
상단으로

티스토리툴바