일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 반다이몰
- 일본어
- 자바
- 건담베이스
- javascript
- jsp
- nico
- 연습문제
- Web
- DART
- Spring
- 一日一つメソッド
- springboot
- C로 시작하는 컴퓨터 프로그래밍4판
- html
- ruby
- 비즈니스일본어
- 単語
- 日本語
- CSS
- 디지몬
- rails
- java
- rails7
- Python
- vscode
- Flutter
- 건담
- 인프런
- メソッド
Archives
- Today
- Total
AR삽질러
Spring-등급제회원_기본예제(1) 본문
728x90
스프링핵심원리 - 기본편
1. Java11, IntelliJ
2. 프로젝트
Gradle Groovy Project
SpringBoot : 2.7.10
Project Metadata
Group : hello
Artifact : core
Java : 11
설치가 완료되고 IntelliJ에 들어가서
File -> Settings -> Gradle (Build and run using, Run tests using)을 IntelliJ IDAE로 바꿔준다.
3. 요구사항
회원
- 기입, 조회
- 일반회원, VIP회원
주문과 할인
- 회원 상품주문
- 회원 등급에 따라 할인적용
hello.core.member
Gradle : 회원의 등급을 나타내는 Gradle은 열거형으로 표현
public enum Gradle {
BASIC,
VIP
}
Member : 회원의 정보를 담는다.
package hello.core.member;
public class Member {
private Long id;
private String name;
private Gradle gradle;
public Member(Long id, String name, Gradle gradle) {
this.id = id;
this.name = name;
this.gradle = gradle;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Gradle getGradle() {
return gradle;
}
public void setGradle(Gradle gradle) {
this.gradle = gradle;
}
}
MemberRepository : 회원정보를 저장하고 Id를 조회하는 메서드를 정의하는 인터페이스
package hello.core.member;
public interface MemberRepository {
void save(Member member);
Member findById(Long memberId);
}
MemberService : 회원가입과 회원조회를 위한 메서드정의
package hello.core.member;
public interface MemberService {
void join(Member member);
Member findMember(Long memberId);
}
MemberServiceImpl : MemberService인터페이스의 구현체로 MemoryMemberRepository를 사용해 회원가입과 회원조회 긴능을 호출한다.
package hello.core.member;
public class MemberServiceImpl implements MemberService{
private final MemberRepository memberRepository = new MemoryMemberRepository();
@Override
public void join(Member member){
memberRepository.save(member);
}
@Override
public Member findMember(Long memberId){
return memberRepository.findById(memberId);
}
}
MemoryMemberRepository
package hello.core.member;
import java.util.HashMap;
import java.util.Map;
public class MemoryMemberRepository implements MemberRepository{
private static Map<Long, Member> store = new HashMap<>();
@Override
public void save(Member member){
store.put(member.getId(), member);
}
@Override
public Member findById(Long memberId){
return store.get(memberId);
}
}
728x90
반응형
LIST
'JAVA > Spring' 카테고리의 다른 글
Spring-등급제회원_기본예제(3) (0) | 2023.06.27 |
---|---|
Spring-등급제회원_기본예제(2) (0) | 2023.06.27 |
Spring-객체지향이란?(용어정리) (0) | 2023.06.24 |
Spring기초 설명 (0) | 2023.04.03 |
Spring게시판실습 (0) | 2023.04.03 |