분류 전체보기82 [JPA로 게시판 만들기] Session을 사용한 로그인, 로그아웃 로그인, 로그아웃 과정로그인 과정아이디, 비밀번호 일치 여부 확인불일치 시 로그인 화면 페이지로 이동일치 시 세션 생성 및 저장세션 유지 시 메인 페이지(home.html)로 이동로그아웃 과정세션 제거세션 유지 확인서블릿 세션 적용HomeController.java@Controller@RequiredArgsConstructorpublic class HomeController { private final MemberRepository memberRepository; @GetMapping("/") public String homeLogin(HttpServletRequest request, Model model){ HttpSession session = request.getSess.. 2025. 2. 19. [JPA로 게시판 만들기] 지연로딩 적용 지연로딩필요한 시점에 연관된 객체의 데이터를 불러오는 것@xxToxx(fetch = FetchType.LAZY)먼저 프록시를 가져온 후, 실제 사용 시 초기화(DB쿼리가 나감)xToOne 관계의 경우 디폴트는 EAGER(즉시로딩)이므로 변경 필요지연로딩 적용package project.post.domain;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;import java.time.LocalDateTime;@Entity@Getter@Setterpublic class Post { @Id @GeneratedValue @Column(name = "post_id") private Long id; priva.. 2025. 2. 5. [JPA로 게시판 만들기] API 개발 Member 관련 API회원 등록 API@PostMapping("/api/members")public CreateMemberResponse saveMember(@RequestBody @Valid CreateMemberRequest request){ Member member = new Member(); member.setEmail(request.getEmail()); member.setAddress(new Address(request.getCity(), request.getZip(), request.getStreet())); Long memberId = memberService.join(member); return new CreateMemberResponse(memberId);}.. 2025. 2. 5. Bean property '필드명' is not readable or has an invalid getter method 발생게시판 만들기 프로젝트 진행 도중 컨트롤러에서 View를 호출하는 과정에서 발생하였다.에러로그Bean property 'id' is not readable or has an invalid getter methodid 필드를 읽을 수 없거나, getter 메서드가 잘못되었다고 한다. 필자의 경우는 id 필드를 읽을 수 없는 경우였다.해결PostForm.javaimport jakarta.validation.constraints.NotEmpty;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class PostForm { private Long id; // 추가 @NotEmpty(message = "제목은 필수입니다.") .. 2025. 1. 28. [JPA로 게시판 만들기] 테스트 코드 작성 시작하기 전에지난 게시글에 TDD와 BDD에 대해서 학습하였다. 이를 적용하기 위해 테스트 코드를 작성하였으며 BDD 방식으로 진행하였다.Member 관련 테스트 코드MemberServiceTest.java...@RunWith(SpringRunner.class)@SpringBootTest@Transactionalclass MemberServiceTest { @Autowired MemberService memberService; @Test void 회원가입() { // given Member member = new Member(); member.setEmail("test@test.com"); member.setAddress(new Ad.. 2025. 1. 23. [JPA로 게시판 만들기] TDD, BDD 란 시작하기 전에TDD, BDD 등 테스트 코드 작성 관련 얘기를 주변에서 많이 들었다. 강의를 들으며 진행한 것 외에 스스로 생각하며 진행해본적이 없기 때문에 진행해보았다. 구현한 테스트 코드 설명에 앞서 TDD와 BDD가 무엇인지 먼저 이해하고 시작하기로 하였다.TDD(테스트 주도 개발)Test Driven Development의 약자로 테스트가 개발을 주도한다는 개념으로 사용된다. TDD는 테스트를 먼저 만들고 테스트를 통과하기 위한 행동들이 모두 개발을 주도하는 것을 목표로 한다. TDD에서는 보통 개발이 끝난 후 테스트를 하는 과정과 다르게 테스트 코드를 먼저 만들고 테스트 코드를 통과시키기 위해 개발코드를 만들어가면서 개발을 진행한다. 추가로 TDD의 결과물이 단위테스트일 뿐 TDD와 단위테스트는.. 2025. 1. 23. 이전 1 2 3 4 5 6 ··· 14 다음