본문 바로가기

공부/SpringBoot15

[블로그] 글쓰기 1. BoardController 2. board/saveForm bootstrap/inputs : https://www.w3schools.com/bootstrap4/bootstrap_forms_inputs.asp inputs/summernote : https://summernote.org/getting-started/#without-bootstrap 3. 글목록 보기 Page type으로 받는것과 List type으로 받는것의 차이점은? List type은 content정보만 가지고 오고, Page type은 content정보와 페이징 정보까지 가지고 온다. - content[{ }] : 가지고 오려고 하는 내용이 뭔지 (List type이 가지고 오는 것) - pageable {} : 페이지 정보 (.. 2022. 3. 6.
[블로그] 스프링시큐리티 1. 스프링 시큐리티를 이용한 로그인 - 권한 때문에 주소 변경 context-path 삭제 인증이 안된 사용자들이 출입할 수 있는 경로를 /auth/** 허용 그냥 주소가 / 이면 index.jsp로 가도록 허용 static 이하에 있는 resource file(/js/**, /css/**, /image/**) 허용 - spring-security-taglibs 실행 - header에 스프링 시큐리티 pricipal 작성 - 로그인 페이지 커스터마이징 - 비밀번호 해쉬화 해쉬란? 고정길이의 문자열로 바꾸어줌. - 스프링 시큐리티로 로그인 가로채기. 4. 회원 수정 화면 5. 글 목록 화면(메인화면) 6. 글 상세보기 화면 7. 글 수정 화면 2022. 2. 27.
[블로그] 서비스와 트랜잭션 1. Service Package 서비스 사용하는 이유 - 트랜젝션 관리 - 서비스 의미 때문 : 여러개의 트랜잭션으로 기능을 구현하는 것. 모든 트랜잭션이 실행 되지 않으면 rollback시켜 줌. repository -> c,r,u,d 하나씩 들고있음 service -> c,c 두개 들고있음(ex,송금서비스) 2. ResponseDto 수정 - 회원가입 시 중복 유저 처리 원활하게 - User model username 중복 안되게 설정 - 결과 3. DB 격리 수준 트랜잭션 : 일이 처리되기 위한 가장 작은 일의 단위 - 오라클 : Read Commit 방식 - mysql : InnoDB Strogy Engine 사용 Repeatable read 이상 방식 -> 부정합 발생 X 스프링에서는 데이터의.. 2022. 2. 26.
[블로그] 오늘의 에러 1. pom.xml 에러 발생 parent 에서 relativePath 에러가 발생했다. (캡쳐 못함 ㅠ) Maven version 문제 인것 같다. 해결방법 더보기 https://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException https://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException 방법 1. Maven Install 자체가 Failure 떠서 실패 ㅠ 프로젝트 우클릭 -> Run As -> Maven Install 프로젝트 F5 혹은 Refresh 클릭 프로젝트 우클릭 -> Maven -> Update Project (Force 강제 옵션 클릭) 방법.. 2022. 2. 21.
[블로그] 화면구현 Bootstrap, merarial css [] ~ mysql.server start 1. navbar, context, header, footer - src/main/webapp/WEB-INF/views 에서 화면 작업 - "/" 는 절대경로 2. 회원가입 화면 3. 로그인 화면 3. 회원가입 action - /src/main/resources/static 에서 작업 - static 폴더는 스프링에서 유일하게 외부에 직접적으로 공유가능한 정적 자원 폴더. URL로 접근 가능. - HTML form tag가 아닌 javascript 를 사용하여 Data 추출. - arrow function 사용 이유 : 파일의 this를 binding 하기 위해서. (scope 범위가 다른가봄) - function() .. 2022. 2. 18.
[블로그] CRUD 테스트 /controller package 1. Insert 실습 1.1 postman으로 값이 잘 받아져 오는지 확인. 1.2 UserRepository 생성 1.3 role default값 표현에 대한 방법 (null -> dynamicInsert -> ser.setRole -> enum) 2. select 및 paging 실습 3. update 실습 3.1 영속성컨텍스트와 더티체킹 4. delete 실습 5. 무한 참조 방지하기 5.1 Entity로 받고 Json직렬화 하기 전에 DTO 생성 후 복사하기 BeanUtils.copyPropertiex(A,B) 5.2 처음부터 DTO로 DB에서 받기 5.3 @JSONIgnore 5.4 @JsonIgnorePropertiex({"board"}) 5.5 @Json.. 2022. 2. 12.