diff --git a/ham/src/main/java/com/example/ham/HamApplication.java b/ham/src/main/java/com/example/ham/HamApplication.java index b14916b..75e6362 100644 --- a/ham/src/main/java/com/example/ham/HamApplication.java +++ b/ham/src/main/java/com/example/ham/HamApplication.java @@ -1,31 +1,13 @@ package com.example.ham; -import com.example.config.SpringConfig; -import com.example.domain.Member; -import com.example.repository.MemberRepository; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; @SpringBootApplication public class HamApplication { public static void main(String[] args) { SpringApplication.run(HamApplication.class, args); - - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); - MemberRepository repository = context.getBean(MemberRepository.class); - - Member member = new Member(1L, "Ham"); - Member member1 = new Member(); - member1.setName("Ham2"); - member1.setId(2L); - repository.save(member); - repository.save(member1); - - repository.findAll().forEach(System.out::println); - repository.findById(1L).stream().forEach(System.out::println); - repository.findByName("Ham").stream().forEach(System.out::println); } } diff --git a/ham/src/main/java/com/example/config/SpringConfig.java b/ham/src/main/java/com/example/ham/config/SpringConfig.java similarity index 85% rename from ham/src/main/java/com/example/config/SpringConfig.java rename to ham/src/main/java/com/example/ham/config/SpringConfig.java index 6d8fc3c..b5f5678 100644 --- a/ham/src/main/java/com/example/config/SpringConfig.java +++ b/ham/src/main/java/com/example/ham/config/SpringConfig.java @@ -1,7 +1,7 @@ -package com.example.config; +package com.example.ham.config; -import com.example.repository.JdbcTemplateMemberRepository; -import com.example.repository.MemberRepository; +import com.example.ham.repository.JdbcTemplateMemberRepository; +import com.example.ham.repository.MemberRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.DriverManagerDataSource; diff --git a/ham/src/main/java/com/example/ham/controller/MemberController.java b/ham/src/main/java/com/example/ham/controller/MemberController.java new file mode 100644 index 0000000..061ea62 --- /dev/null +++ b/ham/src/main/java/com/example/ham/controller/MemberController.java @@ -0,0 +1,43 @@ +package com.example.ham.controller; + +import com.example.ham.domain.Member; +import com.example.ham.service.MemberService; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/members") +public class MemberController { + private final MemberService memberService; + + public MemberController(MemberService memberService) { + this.memberService = memberService; + } + + @GetMapping + public ResponseEntity> getMembersResponse() { + List members = memberService.findMembers(); + return ResponseEntity.ok() + .body(members); + } + + @GetMapping("/{memberId}") + public ResponseEntity> getMemberResponseById(@PathVariable Long memberId) { + Optional findMember = memberService.findById(memberId); + return ResponseEntity.ok() + .body(findMember); + } + + @PostMapping("/{memberId}") + public ResponseEntity saveMember() { + Member member = new Member(); + member.setId(1L); + member.setName("test"); + memberService.save(member); + return ResponseEntity.ok() + .body(member); + } +} \ No newline at end of file diff --git a/ham/src/main/java/com/example/domain/Answer.java b/ham/src/main/java/com/example/ham/domain/Answer.java similarity index 92% rename from ham/src/main/java/com/example/domain/Answer.java rename to ham/src/main/java/com/example/ham/domain/Answer.java index 9b064a9..7399495 100644 --- a/ham/src/main/java/com/example/domain/Answer.java +++ b/ham/src/main/java/com/example/ham/domain/Answer.java @@ -1,4 +1,4 @@ -package com.example.domain; +package com.example.ham.domain; import jakarta.persistence.*; import lombok.Getter; diff --git a/ham/src/main/java/com/example/domain/Member.java b/ham/src/main/java/com/example/ham/domain/Member.java similarity index 93% rename from ham/src/main/java/com/example/domain/Member.java rename to ham/src/main/java/com/example/ham/domain/Member.java index b0a870c..6497c2f 100644 --- a/ham/src/main/java/com/example/domain/Member.java +++ b/ham/src/main/java/com/example/ham/domain/Member.java @@ -1,4 +1,4 @@ -package com.example.domain; +package com.example.ham.domain; import lombok.Getter; import lombok.Setter; diff --git a/ham/src/main/java/com/example/domain/Question.java b/ham/src/main/java/com/example/ham/domain/Question.java similarity index 93% rename from ham/src/main/java/com/example/domain/Question.java rename to ham/src/main/java/com/example/ham/domain/Question.java index d8ddfa0..9172aa2 100644 --- a/ham/src/main/java/com/example/domain/Question.java +++ b/ham/src/main/java/com/example/ham/domain/Question.java @@ -1,4 +1,4 @@ -package com.example.domain; +package com.example.ham.domain; import jakarta.persistence.*; import lombok.Getter; diff --git a/ham/src/main/java/com/example/repository/JdbcTemplateMemberRepository.java b/ham/src/main/java/com/example/ham/repository/JdbcTemplateMemberRepository.java similarity index 96% rename from ham/src/main/java/com/example/repository/JdbcTemplateMemberRepository.java rename to ham/src/main/java/com/example/ham/repository/JdbcTemplateMemberRepository.java index abc0519..946cdbf 100644 --- a/ham/src/main/java/com/example/repository/JdbcTemplateMemberRepository.java +++ b/ham/src/main/java/com/example/ham/repository/JdbcTemplateMemberRepository.java @@ -1,6 +1,6 @@ -package com.example.repository; +package com.example.ham.repository; -import com.example.domain.Member; +import com.example.ham.domain.Member; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; diff --git a/ham/src/main/java/com/example/repository/MemberRepository.java b/ham/src/main/java/com/example/ham/repository/MemberRepository.java similarity index 76% rename from ham/src/main/java/com/example/repository/MemberRepository.java rename to ham/src/main/java/com/example/ham/repository/MemberRepository.java index f98b843..2bd8885 100644 --- a/ham/src/main/java/com/example/repository/MemberRepository.java +++ b/ham/src/main/java/com/example/ham/repository/MemberRepository.java @@ -1,6 +1,6 @@ -package com.example.repository; +package com.example.ham.repository; -import com.example.domain.Member; +import com.example.ham.domain.Member; import java.util.List; import java.util.Optional; diff --git a/ham/src/main/java/com/example/ham/service/MemberService.java b/ham/src/main/java/com/example/ham/service/MemberService.java new file mode 100644 index 0000000..6ee6f84 --- /dev/null +++ b/ham/src/main/java/com/example/ham/service/MemberService.java @@ -0,0 +1,33 @@ +package com.example.ham.service; + +import com.example.ham.domain.Member; +import com.example.ham.repository.MemberRepository; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class MemberService { + private final MemberRepository memberRepository; + + public MemberService(MemberRepository memberRepository) { + this.memberRepository = memberRepository; + } + + public Member save(Member member) { + return memberRepository.save(member); + } + + public Optional findById(Long id) { + return memberRepository.findById(id); + } + + public Optional findByName(String name) { + return memberRepository.findByName(name); + } + + public List findMembers() { + return memberRepository.findAll(); + } +}