300x250
반응형

Back-End 99

[JPA] 발생할 수 있는 여러 오류들

매핑 충돌 오류 org.hibernate.DuplicateMappingException JPA는 Entity를 관리합니다. Entity 등록은 클래스에 @Entity를 붙여서 이뤄집니다. @Entity(name="~")로 name 속성을 가집니다. name 속성을 생략하면 클래스명으로 JPA가 관리합니다. 만약 다른 패키지에 동일한 이름의 Entity로 설정한 클래스가 있다면 이러한 오류가 발생합니다. 따라서 name속성에 패키지명까지 붙여서 지정해주는 것이 좋습니다. hibernate.hbm2ddl.auto 관련 resources/META-INF/persistence.xml에서 application 실행 시에 DB 테이블을 자동으로 생성하는 옵션을 아래처럼 지정할 수 있습니다. 이렇게 설정해 두면 원하..

Back-End/Spring 2023.03.22

[Java] java로 구현한 코드 Windows Batch 스케줄링

- 서론 - 얼마 전에 타사 api를 호출해와서 DB에 저장하는 로직을 java로 구현하고 일 1회 실행시키는 업무가 주어졌다. java 파일에 로직을 다 짜고 실행시키면 DB에 들어가는 것까지 확인했는데, 이 파일을 어떻게 스케쥴링하면 좋을까 고민이 되었다. 고민된 이유 : 이전에 작성한 게시글 ( https://in0-pro.tistory.com/62 )에서 cron으로 스케쥴링을 구현했는데, [Spring] cron으로 스케쥴링 구현하기 (쉽고 자세한 설명) 회사에서 스케쥴링 구현으로 4시간 동안 삽질해서 알아냈다.. 초등학생도 알기 쉽게 차근차근 설명해드림! (spring 프로젝트를 생성했다는 가정 하에 시작함) 1. 스케쥴러 로직이 들어갈 자리를 만 in0-pro.tistory.com 다음에는 ..

Back-End/Java 2023.03.21

[SpringBoot] Embedded Tomcat 세션 클러스터링

SpringBoot를 내장 톰캣으로 실행하고 만약 세션을 사용한다면 세션 클러스터링 설정이 필요하다. 토큰이나 Redis를 사용하는 경우에는 불필요하겠지만 내장 톰캣의 세션을 그대로 이용한다면 세션 클러스터링을 통해 세션 공유 설정을 해야지만 여러 대의 was로 서비스가 가능할 것이다. 테스트 환경 - SpringBoot 2.6.7, Tomcat 9.0.62, JDK 11 1. 의존성 설정 먼저 build.gradle에 tomcat-catalina-ha를 의존성으로 추가한다. implementation 'org.apache.tomcat:tomcat-catalina-ha:9.0.62' 2. Java Config 설정 @Configuration을 통해 내장 톰캣에 대한 세션 클러스터링 Java Config ..

Back-End/Spring 2023.03.21

[SpringBoot] 배송조회 API 추천

현재 개발중에 유용하게 사용중인 배송추적 API가 있어 소개드립니다. 저는 Java에서 따로 호출하여 사용중인데, JavaScript 페이지도 공유되어 있어서 올려드립니다. 제가 사용중인 Java code는 아래에 따로 추가했습니다. 출처 및 원글 : https://tracker.delivery/guide 링크형 배송조회 페이지를 팝업 형태를 띄우고 싶다면 아래와 같은 방식으로 코드를 넣으시면 됩니다. 배송조회 API형 제공되는 웹 페이지를 이용하지 않고 Restful API에 직접 접근하여 데이터를 가져올 수 있습니다. 택배사 목록 조회 API GET https://apis.tracker.delivery/carriers [ { "id": "de.dhl", "name": "DHL", "tel": "+82..

Back-End/Spring 2023.03.21

[Java] FTP 파일 전송하는 방법 (Apache commons-net Lib)

자바로 FTP 통신하기 (파일 업로드) 파일질라, 알FTP(?) 같은 훌륭한 FTP프로그램들이 이미 있지만 자바로 간단하게 파일을 전송하는 프로그램을 찾아보았다. (사실 텔넷으로 명령어 쓸 일이 있어서 telnet 라이브러리를 찾다가 ftp도 흥미가 생겨 한번 사용해보는 것...) * 참고로 apache에서 commons-net 이라고 라이브러리를 제공하는데 여기에 telnet도 있고 NTP, FTP등 다양한 일반적인 프로토콜이 있어서 일반적인 프로토콜 통신 기능을 쉽게 사용할 수 있다. ftp로 통신을 하려면 먼저 ftp서버가 돌고 있어야 파일 전송을 받아준다. virtual machine 을 사용해서 리눅스(우분투)를 설치한 후에 ftp서버를 사용할 수 있게 바꿔줘야 한다. (마지막에 설명함) 1 2..

Back-End/Java 2023.03.21

[SpringBoot] Unable to compile class for JSP / querydsl 의존성에 의한 JSP 컴파일 에러

이슈 현재와 같은 pom.xml 구조를 가지고 있었다. 4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.4 com.abc sample 0.0.1-SNAPSHOT war sample data create sample data 11 org.springframework.boot spring-boot-starter-data-jpa com.querydsl querydsl-apt com.querydsl querydsl-jpa org.springframework.boot spring-boot-starter-web org.apache.tomcat.embed tomcat-embed-jasper org.springframework.boot spring-boot..

Back-End/Spring 2023.03.10

[Java] JAVA에서 JSON API parse시 ALLOW_NON_NUMERIC_NUMBERS, Object타입 등의 에러해결

자바에서 JSON API 호출 시 나는 에러 Non-standard token 'NaN': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow 위와 같은 에러 해결에는 mapper.enable ALLOW_NON_NUMERIC_NUMBERS 추가 ObjectMapper mapper = new ObjectMapper(); mapper.enable(JsonReadFeature.ALLOW_NON_NUMERIC_NUMBERS.mappedFeature()); Cannot deserialize value of type `java.util.ArrayList` from Object value (token `JsonToken.START_OBJECT`) Object ..

Back-End/Java 2023.03.07

[SpringBoot] Project에서 특정 Bean을 찾지 못하는 에러

Project를 Boot로 실행했더니, 다음과 같은 에러가 발생했다. *************************** APPLICATION FAILED TO START *************************** Description: Failed BoardDao in BoardService required a bean of type 'com.spring.board.dao.BoardDao' that could not be found. Action: Consider defining a bean of type 'com.spring.board.dao.BoardDao' in your configuration 대략, 구성했던 프로젝트의 service 클래스에서 dao를 제대로 찾지 못해서 발생하는 문제였는..

Back-End/Spring 2023.03.02

[JPA] Spring Boot에서 다중 DB를 사용하기

1. 개요 이 튜토리얼에서는 여러 데이터베이스가 있는 Spring Data JPA 시스템에 대한 간단한 Spring 구성을 구현합니다 . 2. 엔티티 먼저 각각 별도의 데이터베이스에 있는 두 개의 간단한 엔터티를 만들어 보겠습니다. 다음은 첫 번째 사용자 엔터티입니다. package com.baeldung.multipledb.model.user; @Entity @Table(schema = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; private String name; @Column(unique = true, nullable = false) private String email..

Back-End/Spring 2023.03.02

[Spring / Java] 이메일 인증 구현

요즘사이트에서 회원가입을 하다보면 꼭! 각종 인증들 이있다. 사용자 입장에서는 굳이?? 이걸 해야하나? 싶기도 하겠지만 사업자 입장에서보면 각종 Black Consumer 외 다른 부분에 대해서 보안을 강조한다. 그렇기 때문에 휴대폰인증 이메일인증은 꼭 필요하다고 말하고 싶다. why 이메일인증?? 😞 JUST 비싸니까.. 이유는 단순하다 그냥 프로젝트에 대해서 돈이들기 떄문이다.스프링에서 기본으로 제공하는 API로 충분한 이메일 인증이 가능하기 때문이다! 자 이제 시작해보자! 1. API 다운 https://mvnrepository.com/ https://mvnrepository.com/에서 javax.mail과 spring-context-support을 다운받아 준다. javax.mail mail 1..

Back-End/Spring 2023.02.20
300x250
반응형