Notice
Recent Posts
Recent Comments
Link
꾸준한 개발일기
@Service 안 "비즈니스 로직"이란? 본문
반응형
비즈니스 로직(Business Logic) 은
👉 애플리케이션이 수행해야 하는 핵심 기능이나 규칙을 처리하는 코드
예를 들어,
- 사용자가 회원가입하면 중복 검사를 해야 한다
- 주문하면 할인 정책을 적용해야 한다
- 결제할 때 포인트 적립 규칙이 있어야 한다
이런 업무 로직(비즈니스 요구사항) 을 처리하는 코드가 비즈니스 로직
📌 @Service란?
- @Service는 스프링에서 "서비스 계층"을 나타내는 애노테이션
- 비즈니스 로직을 담당하는 클래스에 붙임
- 자동으로 스프링 빈으로 등록되어 DI(의존성 주입)를 받을 수 있음
✔ 비즈니스 로직이 포함된 @Service 예제
@Service
public class MemberService {
private final MemberRepository memberRepository;
@Autowired
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
// 회원 가입 (비즈니스 로직)
public Long join(Member member) {
validateDuplicateMember(member); // 중복 검사
memberRepository.save(member);
return member.getId();
}
// 중복 회원 검사 (비즈니스 로직)
private void validateDuplicateMember(Member member) {
Optional<Member> findMember = memberRepository.findByName(member.getName());
if (findMember.isPresent()) {
throw new IllegalStateException("이미 존재하는 회원입니다.");
}
}
// 회원 조회 (비즈니스 로직)
public Optional<Member> findOne(Long memberId) {
return memberRepository.findById(memberId);
}
}
🚀 비즈니스 로직의 핵심 역할
1️⃣ 사용자의 요청을 처리하는 핵심 로직
2️⃣ 데이터베이스와 직접 연결되지 않음 (DAO, Repository와 분리됨)
3️⃣ 컨트롤러(@Controller)와 데이터 저장소(@Repository) 사이에서 중간 역할
💡 즉, 비즈니스 로직이란 애플리케이션의 핵심 규칙을 처리하는 코드이며,
이를 담당하는 @Service 클래스가 애플리케이션의 중심
반응형
'Programing > 스프링' 카테고리의 다른 글
컴파일 오류(Compile), 런타임(Runtime Error), 논리 오류(Logic Error)란? (0) | 2025.03.24 |
---|---|
스프링 의존관계 자동 주입 4가지 방법은? (0) | 2025.03.23 |
스프링(Spring)과 스프링 부트(Spring Boot)의 차이 (0) | 2025.03.22 |
@Configuration이란? (0) | 2025.03.21 |
Thread(스레드)란? (0) | 2025.03.20 |
Comments