본문 바로가기
반응형

전체 글298

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.
Spring Boot - Thymeleaf 💡 Thymeleaf ▪️ Thymeleaf의 확장자명은 .html이다. ▪️ Thymeeleaf의 문법은 html 태그 안쪽에 속성으로 사용된다. ▪️ Thymeleaf의 장점은 코드의 길이가 짧아진다는 것이다. ▪️ 타임리프 태그는 서버와 별개로 동작한다. 🔸th:text ▪️ 텍스트 문자 출력 ▪️ " " 큰 따옴표 꼭 적을 것 데이터를 주고받을 때 Entitiy 클래스 자체를 반환하면 안되고 데이터 전달용 객체를 생성해서 사용해야한다? 요청과 응답 객체가 항상 엔티티와 같지 않기 때문이다.​ ​​ 🔸th:each ▪️ 반복문 ▪️ 여러 개의 데이터를 가지고 있는 컬렉션 데이터를 화면에 출력한다. ▪️ 반복함으로서 코드를 줄일 수 있다. ▪️ "itemDto" 객체는 임의로 정하고, ${itemDt.. 2022. 7. 21.
Spring Boot - JPA 💡 JPA 💁‍♀️ JPA에 대해서 알아봅시다. ▪️ JPA ( Java Persistence API ) ▪️ 자바 ORM ( Object Relational Mapping ) 기술에 대한 API 표준 --> ORM : 객체와 관계형 데이터베이스를 매핑해주는 것 📌 문제점 ▪️ 자바 객체를 SQL을 통해 데이터베이스를 관리하게 하고 데이터베이스에 저장된 데이터를 자바 애플리케이션에서 사용하려면 SQL을 통해 다시 자바 객체로 변환하는 반복적인 작업을 해야 한다. --> 개발자가 SQL을 매핑하는 역할을 반복해야 한다. ▪️ 객체를 데이터베이스에 넣기 위해서는 SQL문을 통해 변환해서 저장해야 하고, 데이터베이스에서 객체를 다시 꺼내오기 위해서는 복잡한 SQL문을 다시 작성해야 한다. --> 결국 객체를 .. 2022. 7. 21.
728x90
반응형