[게시판] 기본설정
·
Web/Spring Boot
버전정보 자바 - 17 스프링부트 - 3.2.1 mysql - 8.0 Dependency implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity..
[Project] 쇼핑몰 프로젝트 - 11 로그인 실패 핸들링
·
Web/Spring Boot
로그인 실패시에 /로그인경로?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()..
[프로그래머스] 추억점수
·
Coding/자료구조&알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물..
DTO와 Entity
·
Web/Spring Boot
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어노테이션은 해당 클..
[Project] 쇼핑몰 프로젝트 - 10 게시판 페이징
·
Web/Spring Boot
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
[Project] 쇼핑몰 프로젝트 - 9 상품 수정 & 삭제
·
Web/Spring Boot
상품 상세 페이지에서 자신이 작성한 글만 수정, 삭제 할수있도록 구현해보겠다. 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..
[Project] 쇼핑몰 프로젝트 - 8 상품상세페이지 & 리뷰
·
Web/Spring Boot
Review Entity @Entity @NoArgsConstructor @Getter public class Review { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String content; @ManyToOne @JoinColumn(name = "item_id") private Item item; @ManyToOne @JoinColumn(name = "member_id") private Member member; @Builder public Review(Long id, String content, Item item, Member member){ this.id = id; this.content = ..
[Project] 쇼핑몰 프로젝트 - 7 상품등록페이지
·
Web/Spring Boot
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..
[Project] 쇼핑몰 프로젝트 - 6 메인페이지
·
Web/Spring Boot
상품 구현 먼저 상품목록을 html로 넘겨줘야하기떄문에 상품을 구현해보겠다. ItemEntity 작성 @Entity @NoArgsConstructor @Getter public class Item { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String content; private int price; private int count; @ManyToOne @JoinColumn(name = "member_id") private Member member; @Builder public Item(String name, String content, int price, int..
[Project] 쇼핑몰 프로젝트 - 5 UserDetails, UserDetailsService
·
Web/Spring Boot
UserDetails Member Entity 추가 @Entity @Getter @NoArgsConstructor public class Member implements UserDetails { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(unique = true) private String email; private String name; private String password; private String address; private String role; @Builder public Member(String email, String name, String password, String addres..
Junyoung.dev
Junyoung.dev