반응형 Back-End/Spring Boot39 Spring Boot - 로그인 예제 ( html, server 연동 ) 💁♀️ 로그인 html과 서버를 연동해봅시다. 해당 글과 이어집니다! 2022.07.25 - [Back-End/Spring Boot] - Spring - MyBatis VO 작업 Spring - MyBatis VO 작업 💡MyBatis 관련 라이브러리 추가 💁♀️MyBatis 추가 🔸Maven 프로젝트 MyBatis 추가 ▪️ pom.xml에 디펜던시 추가 org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.2 ▪️ pom.xml 선택 후 마.. cojyeon.tistory.com ◾ thymeleaf가 루트 디렉터리가 src/main/resources/templates라고 생각하기 때문에 html을 그 위치에 넣는다. ◾ html페이지는 templ.. 2022. 7. 26. Spring Boot - JPA 지연 로딩 ▪️ 엔티티를 조회할 때 연관된 엔티티를 함께 조회하는 즉시 로딩이 있다. ▪️ 즉시 로딩 이외에도 지연 로딩이라는 Fetch 전략이 있다. 🔸지연 로딩 ▪️ DB에 새로운 정보가 생기면 버퍼에서 비교하고 잠시 대기한다. ▪️ 이상 없이 같으면 결과를 로딩한다. ▪️ 디스크를 읽는 것보다 메모리 비교가 가장 빠르다. ▪️ factory manneger가 entitiy manager를 만든다. ▪️ vo에서 buffer로 이동하고 db로 이동한다. ▪️ 버퍼에 먼저 요청한다. ▪️ db에서 buffer와 정보를 비교하고 그 정보가 있다면 buffer에게 정보를 건네준다. ▪️ select 가능하나, db로 직접 하면 문제가 된다. 왜냐하면 다른 사람들도 접근 중이기 때문이다. 2022. 7. 25. Spring Boot - javax.validation 어노테이션 예시 💁♀️javax.validation 어노테이션 예시 어노테이션 설명 @NotEmpty NULL 체크 및 문자열의 경우 길이 0인지 검사(공백 O/X) @NotBlank NULL 체크 및 문자열의 경우 길이 0 및 빈 문자열 (" ") 검사 @Length(min=, max=) 최소, 최대 문자열 길이 검사 @Email 이메일 형식인지 검사 @Max(숫자) 지정한 값보다 작은지 검사 @Min(숫자) 지정한 값보다 큰지 검사 @Null 값이 NULL인지 검사 @NotNull 값이 NULL이 아닌지 검사 2022. 7. 25. Spring Boot - MyBatis 쿼리 Xml, DAO생성 2022.07.25 - [Back-End/Spring Boot] - Spring - MyBatis VO 작업 💁♀️ 이전 글과 이어집니다. 이전 글을 참고해주세요! Spring - MyBatis VO 작업 💡MyBatis 관련 라이브러리 추가 💁♀️MyBatis 추가 🔸Maven 프로젝트 MyBatis 추가 ▪️ pom.xml에 디펜던시 추가 org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.2 ▪️ pom.xml 선택 후 마.. cojyeon.tistory.com 💡Query Xml 경로 생성 ▪️ mybatis 경로가 루트 경로의 mybatis/mapper 이하로 되어있기 때문에, mybatis.mapper 패키지를 만든다. 💡repositor.. 2022. 7. 25. Spring - MyBatis VO 작업 💡MyBatis 관련 라이브러리 추가 💁♀️MyBatis 추가 🔸Maven 프로젝트 MyBatis 추가 ▪️ pom.xml에 디펜던시 추가 org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.2 ▪️ pom.xml 선택 후 마우스 우클릭 > Maven > Update Project 🔸Gradle 프로젝트 MyBatis 추가 ▪️ build.gradle 에 디펜던시 추가 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' ▪️ build.gradle 선택 후 마우스 우클릭 > Gradle > Refresh Gradle Projec 💁♀️log4jdbc 추가 (SQL 로.. 2022. 7. 25. Spring - Thymeleaf 레이아웃 ▪️ 레이아웃을 component처럼 구분하는 기능은 없지만 layout기능을 통해 구분할 수 있다. ▪️ 부품처럼 인식시켜주는 태그는 fragment ▪️ 어떻게 화면에 배치할지 나타내는 것은 layout ▪️ 처음에는 조각을 준비한다. ▪️ 실질적으로 main을 만드는게 아니라 자리만 마련한다. ▪️ 빈 곳은 빈대로 두고 스크립트가 따로 들어갈 거면 th블럭을 통해 넣어준다. ▪️ css자리도 따로 구분한다. ▪️ header, footer, 본문은 자리만 만들어둔다. --> layout ▪️ 실제로 주소를 요청해서 controller를 만들어서 업무 로직을 처리한다. ▪️ dao로 보내서 db랑 연결해서 html로 되돌아갈 때, 결과를 보여주는 html페이지는 독자적으로 보여주는 것이 아니라 lay.. 2022. 7. 25. Spring Boot - MyBatis 추가 💡 MyBatis ◾ mybatis의 장점은 자바에 표현하지 않고 쿼리를 따로 빼둘 수 있다. ◾ 서버는 다시 띄우겠지만 컴파일을 할 필요가 없다. ◾ db연결, 쿼리문 생성, 결과 반환 모두 해준다. ◾ select에서 여러줄이 나오면 객체의 리스트 형태로 돌려준다. ◾ mybatis를 사용하지 않으면 본래 쿼리문 수정할 때마다 컴파일 해야한다. --> 다시 배포 해야하고 너무 복잡함 💡 MyBatis 사용 ◾ 쿼리를 저장할 xml을 만든다. - select, insert, ... ◾ 쿼리를 호출할 interface용 DAO를 생성한다. ◾ 쿼리를 저장해둔 id를 함수이름처럼 쓰고 interface DAO에는 id를 함수이름처럼 준다. ◾ id를 함수 이름처럼 주고 괄호로 넘겨주고싶은 값을 보내준다. .. 2022. 7. 22. Spring Boot - 스프링 시큐리티 💡 인증과 인가 🔸 인증 : 본인이 맞는지 아닌지 확인하는 것 ▪️ 인가보다 단순해질 수 있다. ▪️ 회원 관리에 대한 것, 그룹(부서) 관리, 부서별로 볼 수 있는 메뉴가 따로 들어간다. ▪️ 메뉴 관리, 권한 관리, 세부적으로 어떻게 나눌 것인지 매칭을 어떻게 할 것인지 선택한다. --> 어떻게 결정하냐에 따라 개발자의 업무가 단순해지거나 복잡해질 수 있다. ▪️ 메뉴 관리, 권한 관리 중요 🔸 인가 : 권한이 주어져있는지 아닌지 확인하는 것 💡 스프링 시큐리티 ▪️ 시큐리티를 설정하게 되면 모든 요청에 대해서 id, pw를 넣는 디폴트 값이 설정되어 있다. ▪️ 시큐리티를 선택하고 실행만 하게 되면 localhost로 들어가더라도 로그인 페이지로 들어가게 된다. 🔸 username - user 🔸 .. 2022. 7. 22. Spring Boot - BootStrap 💡 부트스트랩(BootStrap) https://getbootstrap.com/ Bootstrap The most popular HTML, CSS, and JS library in the world. getbootstrap.com ◾ 부트스트랩 홈페이지에 들어가서 상단에 있는 Examples를 클릭하면 여러가지 템플릿을 사용할 수 있습니다. ◾ 부트스트랩은 CSS, JS, Popper.js, JQuery등으로 이루어져 있습니다. 🔸 CSS 🔸 JS, Popper.js, and JQuery 2022. 7. 22. 이전 1 2 3 4 5 다음 728x90 반응형