로그인 실패시에 /로그인경로?error로 이동하고 아무런 에러표시가 발생하지않는다. 여러 로그인관련 오류를 표시해주겠다. SecurityConfig 수정 @Configuration @EnableWebSecurity @RequiredArgsConstructor @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig{ private final AuthenticationFailureHandler CustomAuthFailureHandler; @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .csrf().disable()..
Entity란 Entity는 DB 테이블에 존재하는 Column을 필드로 가지는 객체를 뜻함. Entity는 DB 테이블과 1대1 대응관계이고, 테이블에 가지지 않는 Column을 필드로 가져서는 안 된다. 또한 다른 클래스를 상속받거나 인터페이스의 구현체여서는 안 된다. Member 테이블에 id, name, age Column이 있으면 Spring Jpa를 사용할 때 아래와 같이 Entity 클래스를 작성할 수 있다. @Entity public class Member{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; } @Entity어노테이션은 해당 클..
Jpa에서 제공하는 페이징기능을 이용해서 메인페이지 페이징을 해보겠다. 먼저 테스트를위해서 상품 100개를 등록하겠다. 상품등록 @SpringBootTest class ShopApplicationTests { @Autowired private ItemRepository itemRepository; @Autowired private MemberRepository memberRepository; @Test void itemTest(){ for(int i=0; i 다음 정상적으로 작동한다. 참고 : https://wikidocs.net/162028
상품 상세 페이지에서 자신이 작성한 글만 수정, 삭제 할수있도록 구현해보겠다. ItemController 추가 @GetMapping("/detail/{id}") public String item_detail(Model model, @PathVariable Long id, Principal principal){ model.addAttribute("item", itemService.itemFindId(id)); model.addAttribute("reviews", reviewService.FindItemId(id)); if(principal != null) { Member member = memberService.findEmail(principal.getName()); model.addAttribute("m..
item_reg.html 작성 상품 등록 상품명 가격 재고 상품 설명 상품 등록 ItemDto 작성 @Data public class ItemDto { private String name; private String content; private int price; private int count; private Member member; public Item toEntity(){ return Item.builder() .name(name) .content(content) .price(price) .count(count) .member(member) .build(); } } ItemController 추가 @Controller @RequestMapping("/item") @RequiredArgsConst..