본문 바로가기

spring8

[Spring Security][v5.7+] 설정 정리 왜 v5.7 버전 이상에서는 새로운 설정을 진행하는건가요? WebSecurityConfigurerAdapter를 상속받아 사용하게 되는 spring security 설정에서 component를 bean으로 등록하는 방식으로 특정 class의 의존성을 줄이고 필요한 bean 등을 블럭의 형태와 같이 필요로한 클래스들을 제정의 하여 사용하기 위해 버전이 올라가면서 구성이 변경 되었습니다. WebSecurityConfigurerAdapter class를 사용하여도 현재까지는 크게 이슈는 없지만 향후 라이브러리 버전이 올라감에 따라 해당 버전의 리스크는 개발자가 떠앉는 상황을 피하기위해 정리해 보았습니다. @Configuration @ComponentScan @EnableWebSecurity @EnableGlo.. 2022. 10. 17.
[Spring][JPA] Transactional Annotation Transaction 이란? Database의 data 일관성을 유지하기 위해 사용하는 단위입니다. 참고 링크 [개념 정리] Transaction에서 ACID와 MVCC란? Transaction이란? 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있 paciencia.tistory.com Spring에서는 해당 개념 단위를 제어할 수 있는 Annotation을 제공 합니다. @Transactional public class SampleService { // 클래스 적용 } @Transactional public void insertSampleData(Object data) { // 매서드.. 2022. 9. 15.
[Spring][JPA] JPA란? Persistence Layer - 영속성 계층 Spring 에서 DAO 객체를 사용하여 Database와 커넥션 등을 유지하는 것을 이야기 합니다. Mybatis와 JPA에서의 가장 큰 차이점을 따지고 본다면 DAO interface를 만들지 않고 JpaRepository 를 상속 받아 사용하게 됩니다. 이렇게 되면 가장 큰 이점으로 xml등의 파일을 따로 관리 하지 않고 Repository 내에서 Query를 조합하여 좀 더 직관적이고 객체 관점의 쿼리등이 가능해 집니다. Query 방법 예약되어 있는 query를 메서드 형태로 바로 불러와 사용도 가능하고 @Query annotation을 사용하여 native query 혹은 DTO 객체를 만들수도 있습니다. // 1. 예약 Query findAll.. 2022. 9. 14.
Thymeleaf #2 [~{} - Fragment] Fragment 이용하기 Html을 이용해 화면을 그리다 보면 항상 중복된 메뉴나 정보등을 나타내고자 하는 경우가 생깁니다. 위의 그림과 같이 중복된 메뉴나 정보등을 나타낼때 Thymeleaf에서 지원하는 도구가 "Fragment" 입니다. 먼저 menu.html에 화면 상단에 들어갈 코드를 준비합니다. a Page b Page 이후에 info.html에 들어갈 코드도 준비합니다. 이 페이지는 관리자 페이지 입니다. 이 후에 view1.html에 menu 부분과 info 부분을 작성합니다. 여기는 menu 여기는 view1.html 페이지 입니다. 여기는 info 여기서 th:replace란? 현재 페이지에 작성된 dom의 내용을 치환 한다는 의미입니다. fragment/info :: info를 해석해 .. 2020. 6. 19.