목록스프링부트 (23)
Coding Note

화면 구성하기 위해 SpringMVC & Thymeleaf 기술 활용! Q1. Thymeleaf 스프링에서 제공하는 View Template으로 HTML은 그대로 두고 필요한 동작이나 값을 추가하는 방식 Q2. Thymeleaf 장점 - JSP와 유사하게 ${}을 별도의 처리 없이 이용할 수 있음 - Model에 담긴 객체를 화면에서 JavaScript로 처리하기 편함 - 연산이나 포맷과 관련된 기능을 추가적인 개발없이 지원함 - 개발도구를 이용할때 html 파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않음 1. Thymeleaf 프로젝트 생성 실행 테스트 기존 속성 앞에 'th:'를 붙여주고 속성 값을 지정한다. 또한 별도의 태그를 이용하지 않고 HTML을 그대로 유지한 상태에서 필요한 내용..

1. Paging Spring Data JPA를 이용한 페이징 처리는 '0'부터 시작한다. 1) 한페이지에에 10개 테스트 - Test 클래스 코드 org.springframework.data.domain 관련 클래스 사용해야된다. - 결과 첫 번째 쿼리문에서 페이징 처리에 사용하는 limit 구문, 두 번째 쿼리에서는 count()를 이용해서 전체 개수를 처리하는 구문! 2) Page 쿼리 결과를 사용하기 위한 여러 메서드를 지원함. 주로 페이지 처리와 관련된 정보 //paging @Test public void testPageDefault() { //page 10개 Pageable pageable = PageRequest.of(0,10); Page result = memoRepository.findA..

1. ORM과 JPA 1) ORM(Object Relation Mapping) - 객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술 - 객체지향 구조가 관계형 데이터베이스와 유사하다. 객체지향구조 관계형데이터베이스 Class 테이블 Instance(객체) : 데이터 + 행위(메서드) Row(레코드, 튜플) : 데이터 Reference(참조) Relation(관계) 즉, 객체지향을 자동으로 관계형 데이터베이스에 맞게 처리해주는 기법 2) JPA(Java Persistance API) - ORM을 Java 언어에 맞게 사용하는 스펙 - Java 언어에 국한된 개념 ORM이 상위 개념 2. Spring Data JPA(Java Persistance API) 1) Spring Data JPA(Java Pe..

코드로 배우는 스프링 웹 프로젝트 스터디 기록하기! 1. 환경 설치 및 테스트 스프링 부트는 Intellij, 이클립스. STS, VS Code 등 개발 도구 지원이 활발함. 이전 프로젝트였던 블로그 만들기는 STS를 사용해서 개발하였다. 이번 프젝은 IntelliJ를 사용할 것이다!! https://www.jetbrains.com/ko-kr/idea/ IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 1-1, Spring initalalizr를 이용한 프젝 생성 위와 동일하게 체크 후 Next 설치 후 IntelliJ 재시작하면 됨 1-2. Lombok 플러그인 설치 https://coding-day.tistory.com/49?cat..

블로그 만들기 프로젝트 최종! 댓글 기능 구현하기 1. 댓글 구현하기 댓글 작성 및 삭제 - 화면 구현 - 댓글 DB 연동 1) 댓글 작성 기능 구현 BoardApiController //댓글 작성 @PostMapping("/api/board/{boardId}/reply") public ResponseDto replySave(@RequestBody ReplySaveRequestDto replySaveRequestDto) { boardService.댓글쓰기(replySaveRequestDto); return new ResponseDto(HttpStatus.OK.value(), 1);// 200 : http 전송 성공 } BoardService //댓글 작성 @Transactional public void ..

글 수정, 삭제 및 회원 수정 구현하기! 1. 글 수정하기 updateForm ${board.content } 글수정 완료 BoardRepository public interface BoardRepository extends JpaRepository{} BoardApiController @PutMapping("/api/board/{id}") //요청 method가 다르기 때문 mapping 주소 같아도 상관 없음 public ResponseDto update(@PathVariable int id, @RequestBody Board board) { boardService.글수정하기(id, board); return new ResponseDto(HttpStatus.OK.value(), 1); } BoardS..

스터디 4 일차 - 페이징 처리 - Spring Security 1. 페이징 처리 - 최신 등록순으로(내림차순)으로 구현하고 넘어갈 페이지 없으면 변동 없음! BoardApiController //페이징 처리 @GetMapping({"", "/"}) //슬래시 있든 없든 둘다 적용함 public String index(Model model, @PageableDefault (size=3, sort="id", direction = Sort.Direction.DESC) Pageable pageable) { model.addAttribute("boards", boardService.글목록(pageable)); return "index";//viewResolver 작동! } @PageableDefault - Pa..

1. 해쉬 암호화 https://bamdule.tistory.com/53 [Spring Boot] Spring Security 적용하기 Spring Security 란? Spring Security는 스프링 기반의 어플리케이션 보안을 담당하는 프레임워크입니다. Spring Security를 사용하면 사용자 인증, 권한, 보안처리를 간단하지만 강력하게 구현 할 수 있습니 bamdule.tistory.com 시큐리티는 비번 암호화되어있어야만 로그인이 된다! Q1. 해쉬 - 고정 길이의 문자 값으로 변경 Q2. 해쉬 장점 - 내용 변경에 따라 해쉬값이 변경되는데 값을 비교해서 변경되었는지 확인할 수 있다. - SecurityConfig //빈 등록: 스프링컨테이너에서 객체를 관리할 수 있게 하는 것 //아래 ..