Spring
-
[Spring JPA] jpa 사용하기 - JpaRepositorySpring/JPA 2021. 4. 2. 15:24
jpa 를 사용하려면 @Entity 클래스를 먼저 생성해야 한다. @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name="coin.market_code") public class MarketCode { @Id @Column(name = "market_code") private String marketCode; @Column(name = "korean_name") private String koreanName; @Column(name = "english_name") private String englishName; @Builder public MarketCode(String marketCode, String koreanName, St..
-
[spring] 스프링 HikariDatasource 속성 값Spring/spring boot 및 기타 2021. 3. 31. 17:59
세팅 옵션 - autoCommit: auto-commit설정 (default: true) - connectionTimeout: pool에서 커넥션을 얻어오기전까지 기다리는 최대 시간, 허용가능한 wait time을 초과하면 SQLException을 던짐. 설정가능한 가장 작은 시간은 250ms (default: 30000 (30s)) - idleTimeout: pool에 일을 안하는 커넥션을 유지하는 시간. 이 옵션은 minimumIdle이 maximumPoolSize보다 작게 설정되어 있을 때만 설정. pool에서 유지하는 최소 커넥션 수는 - - - - minimumIdle (A connection will never be retired as idle before this timeout.). 최솟값은..
-
[spring] 스프링 elasticsearch NativeSearchQuery 사용방법Spring/spring boot 및 기타 2021. 3. 16. 18:37
ElasticsearchRepository search 메소드 내부에 NativeSearchQuery 를 넘겨 사용 가능하다. 또는 ElasticsearchTemplate 및 elasticsearchOperations 을 사용할떄도 NativeSearchQuery 를 사용할 수 있다. 쿼리 클래스의 종류로는 CriteriaQuery, StringQuery, NativeSearchQuery NativeSearchQuery 란 복잡한 쿼리를 사용하려 할때 Criteria 로는 표현이 불가할때 사용한다. CriteriaQuery 와 StringQuery 의 단점을 보완한 클래스이다. ElasticsearchRepository 를 상속받아 사용하는 방식 @Repository public interface Per..
-
[spring] 스프링 elasticsearch ElasticsearchRepository underscore 오류 해결방법Spring/spring boot 및 기타 2021. 3. 16. 11:50
엘라스틱 을 조회할떄 네이밍에 언더바(언더스코어)가 들어간 경우 일반적인 방법으로 ElasticsearchRepository 라이브러리로 조회가 가능하지 않다. EX) name_field : '데이터' 이거 오류 해결 방법 좀 알고 싶었으나 지지고 볶아도 오류해결 방법이 없다. 애초에 네이밍을 카멜로 했거나 그게 안되면 ElasticsearchOperations 을 사용해서 엘라스틱 조회를 해야한다. 간편하게 사용하기에는 아무래도 ElasticsearchRepository 가 jpa 랑 같아 사용하기 편한데, 복잡한 쿼리에는 불편한 점이 따르니 어쩔 수 없다. 굳이 언더바를 검색하려면 방법은 있다. @Repository public interface SampleRepository extends Elast..
-
[spring] 스프링에서 사용하는 RestTemplate - http 라이브러리Spring/spring boot 및 기타 2021. 2. 26. 14:06
RestTemplate이란 스프링에서 제공하는 http 통신에 유용하게 쓸 수 있는 템플릿 Spring 3부터 지원 되었고 REST API 호출이후 응답을 받을 때까지 기다리는 동기방식이다 AsyncRestTemplate Spring 4에 추가된 비동기 RestTemplate이다 Spring 5.0에서는 deprecated 되었다 메소드 메서드 HTTP 설명 getForObject GET 주어진 URL 주소로 HTTP GET 메서드로 객체로 결과를 반환받는다 getForEntity GET 주어진 URL 주소로 HTTP GET 메서드로 결과는 ResponseEntity로 반환받는다 postForLocation POST POST 요청을 보내고 결과로 헤더에 저장된 URI를 결과로 반환받는다 postForOb..
-
[spring boot] 스프링부트 에서 elasticsearch 시작하기Spring/spring boot 및 기타 2021. 2. 24. 18:46
스프링 부트 2.3 버젼부터 spring-data-elasticsearch 버젼도 4 버젼으로 올라가고, 여기서 부터 기존 설정 이 조금 달라졌다. 아래 내용은 버젼명시가 없다면 2.3 버젼부터 사용가능한 버젼이다. 소스코드 버젼 spring boot 2.4.3 spring-data-elasticsearch 4.1.3 pom.xml dependency 추가 org.springframework.boot spring-boot-starter-data-elasticsearch config 설정소스 @Configuration @EnableElasticsearchRepositories(basePackages = "com.baeldung.spring.data.es.repository") @ComponentScan(b..
-
[SPRING] SPEL 스프링 표현식Spring/spring framework 기본 및 이론 2021. 2. 8. 18:17
스프링 EL(Expression Language) 란 객체 그래프를 조회하고 조작하는 기능을 제공하는 언어를 말한다. spEL은 모든 스프링 프로젝트에서 사용하는 expression language로 만들었다. 문법이나 규칙은 배우기가 쉽다. #{"표현식"} ${"프로퍼티"} 이런식으로 특정 객체를 가져와서 문자열처럼 사용할 수 있고, 계산도 할 수 있다. 표현식은 프로퍼티를 포함할 수 있지만, 반대로는 불가능하다. 사용처 @Value 애노테이션 안에 spEL을 쓰면, 아래 필드값에 결과가 주입된다. 스프링 시큐리티의 경우 메소드 시큐리티, @PreAuthorize, @PostAuthorize, @PreFilter, @PostFilter, XML 인터셉터 URL 설정 등에 사용된다. 스프렝 데이터에서 @..
-
Jasypt 암호화 - spring 설정파일 암호화하기Spring/spring boot 및 기타 2021. 1. 28. 16:40
스프링에서 설정파일 값을 외부에 노출하고 싶지 않을떄, Jasypt 를 사용하면 된다. 라이브러리 spring boot starter 용 3.0.3 이 작성기준 2021년 1월 28일 기준 최신버젼이다. 3,0.3 이 출시된 날짜는 2020년 5월 31일 이다. com.github.ulisesbocchio jasypt-spring-boot-starter 3.0.3 위와 같이 라이브러리를 추가하면 @SpringBootApplication or @EnableAutoConfiguration 어노테이션을 메인에 추가해 주어야 한다. 이렇게 해주면 환경설정 파일 command line argument, application.properties, yaml properties 들을 암호화 할 수 있다. @Spring..