본문 바로가기

Programming/JAVA8

Java application.properties 값 가져오기 (@Value) Initailization이 필수이므로 Static 메서드에 사용 불가. 즉 Main 메서드에서 호출 불가하므로 클래스 호출 필요. (일반적으로 Controller & Service 단에서 사용하므로 걱정 X.) 클래스 호출은 New 가 아닌 생성자(Autowired) 선언하여 사용. import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.a.. 2023. 2. 28.
Java Collection Framwork (자료구조) (List / Set / Map) Java Collection Framwork Java에서 데이터를 저장하는 자료구조를 한 곳에 모아 간편하게 사용 가능하도록 제공. 인터페이스 특징 클래스 List 순서가 있는 데이터의 집합. 중복 허용. ArrayList, LinkedList Stack, Vector Set 순서가 없는 데이터의 집합. 중복 비허용. HashSet TreeSet Map Key : Value 형태. 순서 없음. Key 중복 비허용. Value 중복 허용. Hashtable, HashMap SortedMap 1. List 클래스 특징 Array 고정길이. 단방향. ArrayList 가변길이. 단방향. 조회 성능 우수. LinkedList 가변길이. 양방향. 삽입 및 삭제 성능 우수. Stack 가변길이. LIFO(Last .. 2022. 10. 5.
[VSCode] invalid source release Error Case - invalid source release: 11 - invalid source release: 17 Error Reason build.gradle 에 선언된 sourceCompatibility의 값과 Window 환경변수에 선언된 JAVA_HOME 의 버전이 달라서 생기는 문제. Error Fix 둘 중 하나를 수정하여 버전 동기화. - 시작 → 설정 → 시스템 → 정보 → (우측) 고급시스템 설정 → 환경변수 → JAVA_HOME에 설정된 JDK 경로 변경 - 프로젝트 최상단의 build.gradle 의 sourceCompatibility 값 변경 2022. 9. 16.
[MyBatis] Spring Boot Gradle 에 MySQL 연동하기 개발의 끝은 블로그에 내가 겪었던 과정을 설명하는 것이라고 생각한다. 그도 그럴것이... 구글링을 통해 개발 과정을 쉽게 얻을 수 있다 하더라도, 블로그 글 마다 방법이 다르고, 내가 성공하기까지 겪은 과정 또한 그것들과 다르기 때문이다. 또한 나중에 언제 다시 반복해서 겪을지 모르는 상황에 대비해서 작성하고 넘어가는게 정신건강에 좋다. 그래서 오늘은 Spring Boot Gradle에 MyBatis를 통해 MySQL을 연동하는 과정을 기술해보겠다. 디렉토리 구조 경로는 원하는대로 설정한 뒤 설정만 잘 맞춰주면 된다 1. 의존성 추가 # build.gradle # 아래 mybatis 의존성 추가 dependencies { . . . implementation 'org.mybatis.spring.boot:.. 2022. 3. 3.
[JAVA] VSCode에 Spring Boot 설치 TL;DR 1. Spring Boot Extension 설치 2. Spring Boot 프로젝트 생성 https://start.spring.io/ 설정 설명 Project Maven & Gradle 중 선택. 현재 Gradle을 사용하는 추세라고 함. Language 언어 선택 Spring Boot 버전 정보 - SNAPSHOT(개발 중) / M(정식 릴리즈 X) / 아무것도 안붙었다면 정식 릴리즈 Metadata[Group] 도메인 명. 없다면 자유롭게 작성 가능. Metadata[Artifact] 빌드 결과물 이름 Metadata[Name] 프로젝트 이름 Metadata[Description] 프로젝트 설명 Packaging Jar(웹서버 X) / War(웹서버 O) Java 자신의 Java 버전에 .. 2022. 2. 26.
[JAVA] VSCode JAVA 개발환경 설정 TL;DR 1. VSCode Java 확장 설치 2. JDK 설정 3. Java Extension 활성화 2022. 2. 26.
[JAVA] 윈도우(window) JAVA SE 11 설치 TL;DR 1. JAVA SE 11 설치 프로그램 다운로드 (Oracle 계정 필요. 없다면 회원가입 진행 후 다운로드.) https://www.oracle.com/java/technologies/downloads/#java11 2. JAVA SE 11 설치 3. 환경변수 설정 4. 설치 확인 끝 2022. 2. 26.
JWT 란? eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c 위와 같이 문자열이 .(dot) 에 으해 세 등분으로 구분되어 있는 형태를 최소 한 번 이라도 본 적이 있다면 당신은 JWT가 구현된 서버를 이용해본 적이 있거나, 혹은 JWT를 직접 구현해본 개발자일 것이다. JWT란 JSON Web Token의 줄임말로, 클라이언트와 서버 or 서비스와 서비스 사이에서 권한을 부여하고 확인하기 위해 사용하는 토큰이다. 위 문자열을 jwt.io 사이트를 통해 해석을 해보면 이렇게 .(dot) 에.. 2022. 1. 21.