JPA - org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement 에러 원인과 해결법
·
나의 에러 일지
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "drop table if exists [*]like CASCADE "; expected "identifier"; SQL statement: Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "create table [*]like (like_id bigint generated by default as identity, created_at timestamp, last_modified_at timestamp, board_id bigint, member_id bigint..
Git - SSH 등록하는 법
·
Git
SSH는 Secure Shell의 줄임말(Secure Shell)로, 보안이 강화된 shell 접속을 뜻한다. CLI 환경(터미널)에서 다른 PC에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자를 인증한다. SSH 키 생성 ssh 키는 비대칭키로 구성되며, 두 개의 키가 서로 대칭이 되지 않는 형태로 존재한다. ssh-keygen 명령어는 경로 ~/.ssh./ 에 id_rsa 와 id_rsa.pub 를 생성한다. id_rsa.pub : 누구에게나 공개해도 되는 공개키(Public Key) id_rsa : 공개되면 안되는 개인키(Private Key) ssh-keygen 생성된 키 페어 중 공개키를 복사하여 github에 등록한다. 공개키(Public Key) 복사 cat ~/.ssh/id_rs..
Spring Data JPA - Auditing으로 생성일, 수정일 자동화하는 법
·
JPA
JPA Auditing 생성일, 수정일은 거의 모든 엔티티에 사용되고 있다. 이런 공통적인 기능을 엔티티마다 생성해서 관리하는 것은 굉장히 비효율적이다. JPA Auditing을 사용해 하나의 엔티티로 효율적으로 사용해보자. JPA Auditing은 데이터의 생성 또는 수정이 발생하면 자동으로 값을 넣어주는 아주아주 고마운 친구다. @EnableJpaAuditing 추가 @EnableJpaAuditing @SpringBootApplication public class TodoApplication { public static void main(String[] args) { SpringApplication.run(TodoApplication.class, args); } } Spring Boot을 실행시키는 ..
Spring - Invalid character found in method name. HTTP method names must be tokens 에러
·
나의 에러 일지
java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x03@0x060x8d0x9bS0x170x8a0xb0"0x1c0x09m0xe6:0xcc~Y0xcd0x0a0xa30x180xf0j0xd0[0xd5Q{O0xc8PA ]. HTTP method names must be tokens 이번에 간단한 Todo 앱을 구현해보고 todobackend라는 사이트(http://www.todobackend.com/)에서 테스트를 해보려다가 만난 에러를 소개한다. 원인 https를 받아들이지 준비가 안된 서버에 https 요청이 들어왔을 경우 발생한다. 내가 구현해 놓은..
Java - String 메소드 총정리!
·
Java
계속 추가중입니다. split() 지정된 분리자(regex)를 기준으로 문자열을 자르고 문자열 배열에 담아 반환해주는 메서드 String[] split(String regex) String[] split(String regex, int limit) 분리자(regex)으로 문자열 패턴을 받고, 패턴과 동일한 문자열을 기준으로 잘라준다. limit은 문자열을 나눌 수 있는 최대 개수이다. 예제 String str = "010-1234-5678-9101"; String[] result1 = str.split("-"); String[] result2 = str.split("-", 2); String[] result3 = str.split("-", 3); //결과 result1 = [010, 1234, 5678,..
Spring - 의존관계 주입(DI) 4가지 방법
·
Spring
의존성 주입은 크게 4가지 방법이 있다. 4가지 주입 방법과 어떤 방법을 사용하는 것이 바람직한지 알아보자 생성자 주입 setter 주입 필드 주입 일반 메서드 주입 생성자 주입 생성자를 통해서 의존 관계를 주입하는 방법이다. 생성자 주입은 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. 변하지 않으며(불변), 반드시 필요한(필수) 의존관계에 사용한다. @Component public class ServiceImpl implements Service { private final MemberRepository memberRepository; // 생성자 주입 @Autowired // 생성자가 1개만 있으면 생략 가능(스프링에서만 가능) pulic ServiceImpl(MemberRepository m..
Spring - 옵션 처리 3가지 방법
·
Spring
의존관계 주입은 스프링 빈에 등록이 되어 있을 때 정상적으로 동작한다. 하지만 개발자의 실수로 인해서 또는 특수한 상황에 주입할 스프링 빈이 없어도 동작해야 하는 경우가 있다. @Autowired는 기본값이 required = true 로 설정되어있기 때문에 주입 대상이 없으면 오류가 발생한다. 이 때 자동 주입 대상을 옵션으로 처리하여 오류를 막을 수 있다. 옵션 처리하는 3가지 방법에 대해 알아보자 @Autowired(required = false) org.springframework.lang.@Nullable Optional @Autowired(required = false) 자동 주입할 대상이 없으므로 호출 자체가 되지 않는다. @Autowired(required = false) public vo..
IntelliJ Error - finished with non-zero exit value 1 해결 방법
·
나의 에러 일지
Execution failed for task ':Application.main()'. > Process 'command 'JDK경로/bin/java.exe'' finished with non-zero exit value 1 이번에 소개할 에러는 finishi with non-zero exit value 1 이 녀석이다. Intellij, Gradle 환경에서 Spring 코드를 실행한 후 해당 에러를 만났다. 해결 방법 [File > Settings > Build, Excution, Deployment > Build Tools > Gradle] 이 경로로 이동 [Build and run using]과 [Run tests using]을 IntelliJ IDEA로 변경 [Gradle JVM] 버전을 현재 ..
Spring - PortInUseException: Port 8080 is already in use 원인과 해결방법
·
나의 에러 일지
org.springframework.boot.web.server.PortInUseException: Port 8080 is already in use 오늘 소개할 친구는 PortInUseException: Port 8080 is already in use 요 녀석이다. SpringMVC를 연습하던 중 로컬을 확인하기 위해 실행하다가 만난 에러다. 사실 이전에도 한 번 만난적 있는데 생각보다 자주 만나게 되서 블로그에 남기기로 했다. 원인과 해결방법 모두 생각보다 간단하다. 원인 원인은 2가지 정도로 볼 수 있다. 이미 사용중인 포트를 다른 애플리케이션에서 사용하려고 할 때 IDE에서는 프로세스가 종료되었지만 실제로 프로세스가 종료되지 않고 계속해서 실행중일 때 보통 두 번째 이유때문에 해당 에러가 발생한..
Java - ArrayIndexOutOfBoundsException 원인과 해결법
·
나의 에러 일지
원인정해진 배열의 크기보다 크거나 음수 index에 대한 요청이 있으면 ArrayIndexOutOfBoundsException이 발생한다.배열의 index는 1부터 시작하는 것이 아닌 0부터 시작한다. 배열의 크기를 n이라고 한다면 index는 1부터 n까지가 아닌 0부터 n-1까지인 것이다. 보통 이 부분에서 해당 예외가 많이 발생하는 것 같다.ArrayIndexOutOfBoundsException은 자바 컴파일러에서 검사하지 않고 실행을 시켜야 알 수 있다.int[] arr = new int[5] // arr의 범위는 arr[0] ~ arr[4]로 총 5개의 인덱스를 생성arr[5] = 5; // arr[5]는 존재하지 않기 때문에 예외 발생!// 결과Exception in thread "main" ..
Cold Bean
'분류 전체보기' 카테고리의 글 목록 (17 Page)