일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- kotlin
- Spring Boot
- springdatajpa
- 자바
- QueryDSL
- SpringBoot
- 인프런
- http
- transaction
- AOP
- jpa
- 스프링
- 백준
- 스프링 핵심 원리
- Proxy
- Thymeleaf
- Greedy
- pointcut
- 그리디
- Android
- JPQL
- java
- Exception
- db
- 스프링 핵심 기능
- 알고리즘
- 김영한
- JDBC
- Servlet
- spring
- Today
- Total
목록@ModelAttribute (8)
개발자되기 프로젝트
1. 현상 현재 댓글을 저장하면 Server로 바인딩이 되지 않는다. 2021-10-06 20:20:21.581 DEBUG 31980 --- [nio-8080-exec-1] org.hibernate.SQL : insert into comment (content, member_id, parent_id, post_id, comment_id) values (?, ?, ?, ?, ?) 2021-10-06 20:20:21.585 INFO 31980 --- [nio-8080-exec-1] p6spy : #1633519221585 | took 2ms | statement | connection 13| url jdbc:h2:tcp://localhost/~/blog insert into comment (content, ..
로그인 시 검증 처리를 위해 의존성 추가. implementation 'org.springframework.boot:spring-boot-starter-validation' 로그인을 벌써 구현하는 이유? 세션에서 로그인 회원 정보를 가져와서, 글 작성시 작성자로 활용하기 위함 1. 로그인 방식 쿠키 세션 2. loginForm 로그인 시 입력할 정보이다. @Getter @AllArgsConstructor public class LoginForm { private String loginId; private String password; } 3. loginService 로그인 처리 로직은 간단하다 비밀번호가 DB에 입력된 값과 동일하면 Member정보를 반환한다. 이 때 DTO로 변환하여 return. @S..
1. 요구사항 요구사항 상품을 관리 상품 이름 첨부파일 하나 이미지 파일 여러개 첨부파일을 업로드 다운로드 할 수 있다. 업로드한 이미지를 웹 브라우저에서 확인할 수 있다. 2. Item 상품 도메인 import lombok.Data; import java.util.List; @Data public class Item { private Long id; private String itemName; private UploadFile attachFile; private List imageFiles; } 3. itemRepository @Repository public class ItemRepository { private final Map store = new HashMap(); private long seq..
@Valid , @Validated 는 HttpMessageConverter ( @RequestBody )에도 적용할 수 있음. 1. @ModelAttribute, @RequestBody @ModelAttribute : HTTP 요청 파라미터(URL 쿼리 스트링, POST Form)를 다룰 때 사용 @RequestBody : HTTP Body의 데이터를 객체로 변환할 때 사용한다. 주로 API JSON 요청을 다룰 때 사용 2. Controller @RestController = @Controller + @ReponseBody @RequestBody : JSON 데이터를 객체로 바꿔줌. @Slf4j @RestController @RequestMapping("/validation/api/items") pu..
1. POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 itemName=itemA&price=10000&quantity=10 예) 회원 가입, 상품 주문, HTML Form 사용 Form에서 지정한 이름으로 넘어옴. 2. Controller 2.1 @RequestParam 요청 파라미터를 처리하는 방법 변수 명은 Form에서 지정한 name으로 넘어옴. 상품 등록 form에서 상품 명은 itemName, 가격은 price, 수량은 quantity로 넘어온다. @RequestParam을 활용하여 요청 파라미터 사용이 가능. @PostMapping("/add") public String save(@R..
요청 파라미터를 받아서 객체를 만들고 그 객체에 값을 하나하나 넣어줘야 한다. @ModelAttribute를 사용하면 바인딩을 편하게 할 수 있음. 1. Hello @Data public class HelloData { private String username; private int age; } 2. @ModelAttribute 적용 적용 전 @ResponseBody @RequestMapping("/model-attribute-v1") public String modelAttributeV1(@RequestParam String username, @RequestParam int age){ Hello helloData = new Hello(); helloData.setUsername(username); h..
데이터 확인을 위해서 샘플 데이터를 추가하자. 테스트케이스 실행에 영향을 주지 않기 위해 톰캣이 돌아갈 때만 샘플 데이터가 들어가도록 설정하자. --> 테스트케이스, 톰캣의 프로파일 분리 1. 프로파일 설정 main.resources.application.yml test.resources.application.yml 2. 샘플 데이터 추가 @Profile 을 통해 application.yml의 active와 대응됨. @PostConstruct : bean 생성 이후 해당 메서드 실행. JPA 데이터 변경은 Transaction안에서 이루어져야함 @Profile("local") @Component @RequiredArgsConstructor public class InitMember { private fi..
1. 주문 목록 검색 @GetMapping orders받아서 model에 전달 @ModelAttribute?? - 스프링에서 JSP파일에서 반환되는 Model에 값을 주입하거나 바인딩할 경우에 사용됨. - 여기서는 JSP에서 반환대는 orderSearch과 바인딩하기 위해 사용. - 해당 값을 통해 검색 옵션이 반영됨. - Annotation that binds a method parameter or method return value to a named model attribute, exposed to a web view. @GetMapping("/orders") public String OrderList(@ModelAttribute("orderSearch")OrderSearch orderSearch,..