목록전체 글 (181)
개발자의 오르막
# JPQL 과 QueryDsl 의 차이 @SpringBootTest @Transactional public class QueryDslBasicTest { @PersistenceContext EntityManager em; JPAQueryFactory queryFactory; @BeforeEach public void before() { queryFactory = new JPAQueryFactory(em); PocketMonMaster masterA = new PocketMonMaster("masterA"); PocketMonMaster masterB = new PocketMonMaster("masterB"); em.persist(masterA); em.persist(masterB); PocketMon ..
# 프로젝트 환경설정 - 먼저 Gradle, Java11 의 프로젝트를 생성해준다. - 다음 프로젝트에 사용될 기본적인 Dependency 를 설정해준다. - build.gradle plugins { id 'org.springframework.boot' version '2.2.2.RELEASE' id 'io.spring.dependency-management' version '1.0.8.RELEASE' id 'java' } group = 'com.gig' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { developmentOnly runtimeClasspath { extendsFrom developmentOnly } compi..
# 한국의 도시 목록을 엑셀 데이터로 파싱하기 - en.wikipedia.org/wiki/List_of_cities_in_South_Korea List of cities in South Korea - Wikipedia Wikimedia list article Special city Special autonomous city Metropolitan cities Specific cities Administrative cities Cities The largest cities of South Korea have an autonomous status equivalent to that of provinces. Seoul, the lar en.wikipedia.org - 먼저 파싱할 데이터를 선택한다. - docs..
# 스프링 데이터 연동 compile group: 'org.springframework.security', name: 'spring-security-data', version: '4.0.0.RELEASE' - 먼저 테스트를 위한 Book 데이터를 만들기 위해 도메인과 DefaultDataGenerator 를 만들어 본다. - Book @Entity @Getter @Setter public class Book { @Id @GeneratedValue private Integer id; private String title; @ManyToOne private Account author; public Integer getId() { return id; } } - DefaultDataGenerator @Compo..
# 메소드 시큐리티 - @EnableGlobalMethodSecurity @EnableGlobalMethodSecurity(jsr250Enabled = true, prePostEnabled = true, securedEnabled = true) - @Secured 와 @RollAllowed 메소드 호출 이전에 권한을 확인한다. 스프링 EL을 사용하지 못한다. - @PreAuthorize 와 @PostAuthorize 메소드 호출 이전 이후에 권한을 확인할 수 있다. 스프링 EL을 사용하여 메소드 매개변수와 리턴값을 검증할 수 있다. - 메소드를 활용하여 시큐리티 메소드 사용하기 1. 먼저 MethodSecurity 를 사용하기 위해 config 패키지에 클래스를 아래와 같이 생성하고 선언한다. @Conf..
# Thymeleaf SpringSecurity - build.gradle 에서 의존성을 추가해준다. compile group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity5', version: '3.0.4.RELEASE' - authorization 을 통한 분기처리를 thymeleaf 문법을 통해 구현할 수 있다. - Index.html Name Logout Login 위의 부분을 타임리프의 sec 네임스페이스를 쓰면 더 간결하게 바꿀 수 있다. Hello Name Logout Login sec:authentication 을 통해 hasRole, anonymous 등을 설정할 수 있다.