Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package hello.hello_spring.controller;

public class MemberController {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package hello.hello_spring.domain;

public class Member {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package hello.hello_spring.repository;

public interface MemberRepository {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package hello.hello_spring.repository;

public class MemoryMemberRepository {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package hello.hello_spring.service;

import hello.hello_spring.domain.Member;
import hello.hello_spring.repository.MemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class MemberService {

private final MemberRepository memberRepository;

@Autowired //의존성 주입
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}

public Long join(Member member) {
validateMember(member);
return memberRepository.save(member).getId();
}

private void validateMember(Member member) {
memberRepository.findByName(member.getName())
.ifPresent(m ->{
throw new IllegalStateException("이미 존재하는 회원입니다.");
});
}

public List<Member> findAll() {
return memberRepository.findAll();
}

public Optional<Member> findById(Long id) {
return memberRepository.findById(id);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import static org.junit.jupiter.api.Assertions.*;
class MemoryMemberRepositoryTest {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import static org.junit.jupiter.api.Assertions.*;
class MemberSeriviceTest {

}
8 changes: 8 additions & 0 deletions week2/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions week2/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions week2/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions week2/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions week2/.idea/week2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file removed week2/README.md
Empty file.
37 changes: 37 additions & 0 deletions week2/seungbeom/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
Loading