분류 전체보기

1 ) Spring Security 정의 Spring 기반 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크 인증(Authentication) 과 권한(Authorization) 에 대한 부분을 Filter의 흐름에 따라 처리를 하고 있다. 2) 인증(Authentication) 과 권한(Authorization) 인증 사이트에 접속하려고 할 때의 확인 절차 Session과 Token(Sessionless)을 통한 인증 절차 SNS 로그인에 인증 위임 인가 or 권한 사용자의 권한 설정 절차 특정 페이지 및 리소스에 접근 가능 판단 @Secure, @PrePostAuthorize 어노테이션으로 권한 체크 AOP를 이용하여 권한 체크 * 인증 절차를 거친 후 권한절차를 진행하게 된다. * 요즘에는 아이..
JPQL(Java Persistence Query Language) : Entity 객체를 조회하는 쿼리 QueryDSL : 쿼리 메소드 : 쿼리메소드의 경우 조건이 많아지게 되면 메소드의 이름이 길어지는 단점이 있다. public interface BookRepository extends JpaRepository { List findByCategoryIsNullAndNameEqualsAndCreatedAtGreaterThanEqualAndUpdatedAtGreaterThanEqual(String name, LocalDateTime createdAt, LocalDateTime updatedAt); } !!! @Query 어노테이션을 사용하여 메소드 명을 줄이고 가독성을 높인다. @Query 어노테이션 사..
영속성 전이 : 하나의 객체에서 다음 객체에 영속성을 흐려 보내는 것 Cascade의 경우, 연관관계가 있는 엔티티에(@OneToMany, @OneToOne...) 있는 경우에 CascadeType에 사용 가능. CascadeType 클래스 (Enum 타입) ALL : 모든 엔티티에 영속성 전이. PERSIST : 엔티티 저장시 영속성 전이 MERGE : 엔티티 업데이트 시 영속성 전이 REMOVE : 엔티티 제거 작업 시 영속성 전이 REFRESH : 엔티티의 영속성을 재로딩. DETACH : 영속성을 관리하지 않고 영속성으로부터 분리하는 속성. 해당 영역으로 전이가 일어날 때 릴레이션 엔티티에도 함께 전이를 일이킬지에 대한 속성 값 예제 1. CascadeType.PERSIST CascadeType...
Ex) failed to lazily initialize a collection of role: com.test.jpa.jpaProj.domain.Publisher.books, could not initialize proxy - no Session org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.test.jpa.jpaProj.domain.Publisher.books, could not initialize proxy - no Session at app//org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyI..
트랜잭션 Transaction? : 트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위, 또는 한꺼번에 모두 수행되어야할 일련의 연산을 뜻함 원자성...일관성...독립성...영속성....(ACID) Spring과 Java에서의 트랜잭션 Spring의 @Transactional : Transactional의 경우 class위와 method위에 어노테이션을 붙여줄 수 있다. class의 경우 내부에 있는 각각의 method를 트랜잭션화 한다는 것으로 method에 추가로 붙이면 method에 붙은 걸 우선 적용후 class 트랜잭션이 적용된다. 예제 1. @Transactional(rollbackFor = Exception.class) 사용 @Transactional(rollbackFor..
intelliji - MySQL 연결 1. application.properties 설정 spring.datasource.url=jdbc:mysql://localhost spring.datasource.username=root spring.datasource.password=1234 server.port=8080 2. Build.gradle 설정 runtimeOnly 'mysql:mysql-connector-java' 3. database 연결 4. Context 실행
Mac) MySQL 설치 1. brew install mysql 설치 ....( 중략) 2. mysql -V 버전확인 3. mysql.server start 실행 4. mysql.server stop 5. mysql_secure_installation 보안 설정 다시 설정시 secure 명령어 다시 입력하여 재설정 6. mysql -u root -p 접속 7. show databses 및 use sys 8. show tables 9. mysql 나가기
1. 영속성 컨텍스트 Persistence Context : 데이터를 영속화하는데 사용하는 컨테이너, JPA 컨테이너 안에서 돌아가는 Entity를 관리하는 컨텍스트 주체가 되는 클래스 EntityManager 를 사용 -> Spring Boot JPA dependency를 통해 별도의 Persistence 파일 사용없이 Persistence 설정들을 처리해줌 EntityManager : 영속성 컨텍스트 내에서 Entity들을 관리, JpaSimpleRepository에서 직접적으로 EntityManager를 사용하지 않도록 한번더 감싸준 것 @SpringBootTest public class EntityManagerTest { @Autowired private EntityManager entityMan..
defxyj
'분류 전체보기' 카테고리의 글 목록 (14 Page)