스프링프레임워크
-
[Batch] 스프링 배치 테이블 초기화 방법스프링프레임워크/기타 2021. 7. 29. 15:34
delete from BATCH_JOB_EXECUTION_CONTEXT; delete from BATCH_JOB_EXECUTION_PARAMS; delete from BATCH_JOB_EXECUTION_SEQ; delete from BATCH_JOB_SEQ; delete from BATCH_STEP_EXECUTION_CONTEXT; delete from BATCH_STEP_EXECUTION_SEQ; delete from BATCH_STEP_EXECUTION; delete from BATCH_JOB_EXECUTION; delete from BATCH_JOB_INSTANCE; INSERT INTO BATCH_STEP_EXECUTION_SEQ values(0, '0'); INSERT INTO BATCH_JOB..
-
[스프링] SpEL - Spring Expression Language스프링프레임워크/기타 2021. 7. 16. 18:14
SpEL (Spring Expression Language) 런타임시에 객체 그래프를 조회하고 조작하는 강력한 표현 언어 SpEL 표기법 #{SpEL 표현식} SpEL 지원 기능 리터럴 표현식 Boolean과 관계연산자 정규 표현식 클래스 표현식 프로퍼티, 배열, 리스트, 맴에 대한 접근 지원 메서드 호출 관계 연산자 할당 생성자 호출 Bean 참조 배열 생성 인라인 리스트/맵 삼항 연산자 변수 사용자 정의 함수 Collections Projection Collections Selection Templated expression @Value annotation에서 SpEL 사용 @Value("#{1+1}") int value; @Value("#{'hello ' + 'world'}") String gree..
-
[RestDoc] asciidoc 문법스프링프레임워크/기타 2021. 6. 3. 23:15
한 칸 띄우기 ( + 기호 사용) Rubies are red, + Topazes are blue. Rubies are red, Topazes are blue. 한 칸 띄우기 (hardbreaks 옵션 사용) [%hardbreaks] Ruby is red. Java is black. Ruby is red. Java is black. NOTE, TIP, IMPORTANT, CAUTION, WARNING WARNING: Wolpertingers are known to nest in server racks. Enter at your own risk. 리스트 형식 - Edgar Allan Poe - Sheri S. Tepper - Bill Bryson
-
[Spring] OAuth2스프링프레임워크/oauth2 2021. 5. 31. 20:52
OAuth 2.0 인증 방식 웹 사이트의 계정 인증에 타 서비스의 계정을 사용하는 인증 방식 구글 인증 방식 예시 구글 인증 페이지에 접속 https://accounts.google.com/o/oauth2?client_id=[OAuth 클라이언트 아이디] &redirect_uri=https://www.test.com/auth/google/callback 사용자가 구글 인증에 성공하면, 인증 페이지 접속 시 전달 된 리다이렉트 URI로 리다이렉트 되는데 다음과 같이 code라는 매개변수 정보를 추가해준다. https://www.test.com/auth/google/callback?code=[코드 정보] 웹 사이트에서는 이 code라는 매개변수 값을 URL로부터 얻어온 후 이 code를 통해서 액세스 토큰을..
-
[Quartz] Could't get host name!스프링프레임워크/quartz 2021. 2. 4. 10:56
이번 시간에는 Quartz 클러스터링을 구현하면서 발생한 이슈와 해결 방법에 대해서 알아보도록 하겠습니다. Spring Boot로 프로젝트를 구성하였고 Docker Container 2개를 띄워서 테스트 진행하였습니다. Spring Boot에서 Quartz를 사용하는 방법은 이전 블로그를 참조해주시면 감사하겠습니다. Docker Container를 구동 시킬 때 아래와 같은 에러가 발생하였습니다. Quartz 클러스터링 설정 시 instanceId를 AUTO로 설정하였는데 Quartz의 default ID 생성은 아래의 SimpleInstanceIdGenerator를 사용합니다. SimpleInstanceIdGenerator의 경우 내부적으로 host name을 가져와서 ID를 생성하게 되어 있는데 Do..
-
[JPA] @ElementCollection을 이용해서 Embeddable 타입의 Collection을 영속화스프링프레임워크/jpa 2021. 1. 29. 15:28
Embeddable 타입의 Collection 엔티티 클래스에서 Embeddable 타입의 Collection은 @ElementCollection을 사용해서 영속화 할 수 있습니다. Collection에 해당하는 클래스에는 @Embeddable 어노테이션을 반드시 붙여야 합니다. 엔티티 클래스와 Embeddable 타입의 클래스는 둘 사이를 매핑하는 새로운 테이블을 생성합니다. 해당 매핑 테이블에는 엔티티 클래스의 primary-key와 연결 된 foreign-key를 가지고 있습니다. 해당 매핑 테이블의 필드는 엔티티 클래스에 대한 foreign-key와 Embeddable 클래스의 필드들로 구성되어집니다. OneToMany와 유사하지만 대상이 Embeddable 클래스란 것이 다르다. 테스트를 위한 ..
-
[Quartz] Spring Boot에서 Quartz 클러스터 적용스프링프레임워크/quartz 2021. 1. 26. 12:50
이번 시간에는 Spring Boot 프로젝트에서 Quartz 클러스터를 적용해보겠습니다. 우선 Quartz는 아래와 같은 특징을 제공하는 Job 스케줄링 라이브러리입니다. 모든 Java 어플리케이션에 통합 가능 수십에서 수천 개의 작업도 실행 가능하며 간단한 Interval 형식이나 Cron 표현식으로 복잡합 스케줄링도 지원 Job에서 수행되는 작업들은 직접 프로그래밍 할 수 있음 JTA 트랜잭션 처리나 클러스터링 기능도 지원 Cron Expression 특수문자 * : 모두 포함 ? : 해당 필드 고려 X - : 일련의 범위 2-4는 2, 3, 4를 의미 , : 일련의 값을 나열 2-4는 2,3,4로 표현 가능 / : 초기치를 기준으로 일정하게 증가하는 값을 의미 초를 나타내는 필드에 0/15는 0초를..