본문 바로가기
반응형

전체 글309

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.
Spring Boot - Maven Repository 확인하기 💁‍♀️ 자바는 src/main/java 그 외의 파일은 src/main/resource에 저장됩니다. 💡 Maven Repository 💁‍♀️ Maven Repository에서 Thymeleaf Layout Dialect 라이브러리를 설치할 수 있습니다. ⭐ 버전 주의하기! ◾ Refresh Gradle Project를 선택합니다. 2022. 7. 22.
Spring Boot - Spring DATA JPA Querydsl 💡Querydsl 💁‍♀️ @Query 어노테이션 안에 JPQL문법으로 문자열을 입력하기 때문에 잘못 입력하면 컴파일 시점에 에러를 발견할 수 없습니다. 이를 보완하는 방법으로 Querydsl가 있습니다. 💡Querydsl 장점 ▪️ 고정된 SQL문이 아닌 조건에 맞게 동적으로 쿼리를 생성할 수 있습니다. ▪️ 비슷한 쿼리를 재사용할 수 있으며 제약 조건 조립 및 가독성을 향상시킬 수 있습니다. ▪️ 문자열이 아닌 자바 소스코드로 작성하기 때문에 컴파일 시점에 오류를 발견할 수 있습니다. ▪️ IDE의 도움을 받아서 자동 완성 기능을 이용할 수 있기 때문에 생산성을 향상시킬 수 있습니다. 💁‍♀️Querydsl을 사용하기 위해서는 설정을 추가해야합니다. ▪️ pom.xml 파일의 사이에 의존성 추가 co.. 2022. 7. 22.
Spring Boot - 쿼리 메소드 💡쿼리 메소드 문법 ▪️ 실제 값은 메서드의 파라미터 값으로 준다. ▪️ 알아서 where절을 만든다. find + ( 엔티티 이름 ) + By + 변수이름 💡 쿼리 메소드 Sample 및 JPQL snippet Distinct findDistinctByLastnameAndFirstname select distinct … where x.lastname = ?1 and x.firstname = ?2 And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = ?2 Is、Equals findByFirstname.. 2022. 7. 22.
Spring Boot - Repository 설계하기 💡 JPA Repository ▪️ JPA의 담당은 JPA Repository이다. ▪️ Repository는 dao와 같은 역할을 한다. ( 액세스, write, delete... ) 💁‍♀️ JPA Repository 인터페이스 생성입니다. @Repository public interface SampleEntityRepository extends JpaRepository { } 출처: https://araikuma.tistory.com/329 [프로그램 개발 지식 공유:티스토리] 📃 예제 public interface ItemRepository extends JpaRepository ▪️ Item과 관련된 테이블 Repository 설계 ▪️ Item : 테이블, 변수, 컬럼... ▪️ 무조건 Lon.. 2022. 7. 22.
Spring Boot - 엔티티 매핑 관련 어노테이션 어노테이션 설명 @Entity 클래스를 엔티티로 선언 ( db에 테이블을 만들 것이다. ) @Table 엔티티와 매핑할 테이블을 지정 ( 테이블 명칭 지정 ) @id 테이블의 기본키에 사용할 속성을 지정 ( PK ) @GeneratedValue 키 값을 생성하는 전략 명시 ( 키 생성 방법 ) @Column 필드와 컬럼 매핑 ( 컬럼 명칭 정하기 ) @Lob BLOB, CLOB 타입 매핑 ( Binary large object, Charactor large object. db에서 기록할 때 다른 곳에 저장해두고 주소만 지정 ) @CreationTimestamp insert시 시간 자동 저장 @UpdateTimestamp update시 시간 자동 저장 @Enumerated enum 타입 매핑 ( 컴퓨터가 .. 2022. 7. 22.
728x90
반응형