반응형

Spring 애플리케이션의 클래스 경로에서 파일에 액세스

1. 소개 이 사용방법(예제)에서는 Spring을 사용하여 클래스 경로에 있는 파일의 내용에 액세스하고 로드하는 다양한 방법을 보여줍니다. 2. 리소스 사용 자원 인터페이스는 낮은 수준의 리소스에 대한 액세스를 추출하는 데 도움이됩니다. 실제로 모든 종류의 파일 리소스를 균일한 방식으로 처리할 수 있도록 지원합니다. Resource 인스턴스 를 얻기 위한 다양한 방법을 살펴보는 것으로 시작하겠습니다 . 2.1. 수동으로 클래스 경로에서 리소스에 액세스하기 위해 간단히 ClassPathResource 를 사용할 수 있습니다 . public Resource loadEmployeesWithClassPathResource() { return new ClassPathResource("data/employees.d..

Spring 2021.09.09

Java에서 연결 List 뒤집기

1. 소개 이 사용방법(예제)에서는 Java에서 두 개의 연결 List 반전 알고리즘 을 구현 합니다. 2. 연결 리스트 데이터 구조 연결 List은 각 요소의 포인터가 순서를 결정하는 선형 데이터 구조입니다. 연결 List의 각 요소에는 List 데이터를 저장하는 데이터 필드와 시퀀스의 다음 요소를 가리키는 포인터 필드가 있습니다. 또한 헤드 포인터를 사용 하여 연결 List의 시작 요소를 가리킬 수 있습니다 . 연결 List을 뒤집은 후 헤드 는 원래 연결 List의 마지막 요소를 가리키고 각 요소의 포인터는 원래 연결 List의 이전 요소를 가리킵니다. Java 에는 List 및 Deque 인터페이스 의 이중 연결 List 구현을 제공 하는 LinkedList 클래스가 있습니다. 그러나 이 사용방법..

Spring 2021.09.09

Spring Boot에서 Docker 레이어 재사용

1. 소개 Docker는 독립형 애플리케이션을 만들기 위한 사실상의 표준입니다. 버전 2.3.0부터 Spring Boot 에는 효율적인 Docker 이미지를 생성하는 데 도움이 되는 몇 가지 개선 사항이 포함되어 있습니다. 따라서 응용 프로그램을 다른 계층으로 분해 할 수 있습니다 . 즉, 소스 코드는 자체 레이어에 있습니다. 따라서 독립적으로 재구축할 수 있어 효율성과 시작 시간이 향상됩니다. 이 예제에서는 Docker 레이어를 재사용하기 위해 Spring Boot의 새로운 기능을 활용하는 방법을 볼 것입니다. 2. Docker의 계층화된 항아리 Docker 컨테이너는 기본 이미지와 추가 레이어로 구성됩니다. 레이어가 빌드되면 캐시된 상태로 유지됩니다. 따라서 다음 세대는 훨씬 더 빠릅니다. 하위 수준..

Spring 2021.09.08

Java의 ClassCastException 설명

1. 개요 이 짧은 예제에서, 우리는에 초점을 맞출 것이다 ClassCastException이 하는 일반적인 자바 예외 . ClassCastException 은 코드가 하위 유형이 아닌 유형에 대한 참조를 캐스팅하려고 시도했음을 알리는 확인되지 않은 예외 입니다 . 이 예외가 발생하는 몇 가지 시나리오와 이를 방지할 수 있는 방법을 살펴보겠습니다. 2. 명시적 캐스팅 다음 실험을 위해 다음 클래스를 고려해 보겠습니다. public interface Animal { String getName(); } public class Mammal implements Animal { @Override public String getName() { return "Mammal"; } } public class Amphib..

Spring 2021.09.08

Java에서 ArrayList의 용량과 배열의 크기

1. 개요 Java를 사용하면 고정된 크기의 배열을 만들거나 컬렉션 클래스를 사용하여 유사한 작업을 수행할 수 있습니다. 이 예제에서는 ArrayList 의 용량 과 Array의 크기의 차이를 살펴보겠습니다 . 또한 ArrayList 를 용량으로 초기화해야 하는 경우와 메모리 사용 측면에서 장단점을 살펴보겠습니다 . 2. 예 차이점을 이해하기 위해 먼저 두 옵션을 모두 시도해 보겠습니다. 2.1. 배열의 크기 자바에서는 배열의 새 인스턴스를 생성하는 동안 배열의 크기를 지정하는 것이 필수입니다. Integer[] array = new Integer[100]; System.out.println("Size of an array:" + array.length); 여기서, 우리는 생성 된 I nteger의 아래..

Spring 2021.09.08

자바의 상수: 패턴과 안티패턴

1. 소개 이 기사에서는 공통 패턴과 안티 패턴에 초점을 맞춰 Java에서 상수를 사용하는 방법을 배울 것입니다. 상수를 정의하기 위한 몇 가지 기본 규칙부터 시작하겠습니다. 여기에서 일반적인 패턴을 살펴보기 전에 일반적인 안티 패턴으로 이동합니다. 2. 기본 상수는 정의된 후에 값이 변경되지 않는 변수입니다. 상수를 정의하기 위한 기본 사항을 살펴보겠습니다. private static final int OUR_CONSTANT = 1; 우리가 살펴볼 패턴 중 일부는 공개 또는 비공개 액세스 수정자 결정을 다룰 것 입니다. 우리는 상수를 정 적이고 최종적으로 만들고 자바 프리미티브, 클래스 또는 열거형 여부에 관계없이 적절한 유형을 제공합니다 . 이름은 모두 대문자여야 하며 단어는 밑줄로 구분해야 합니다 ..

Spring 2021.09.08

자바(문자열) 또는 .toString()?

1. 소개 이 기사에서는 String 캐스팅과 toString() 메서드 실행의 차이점에 대해 간략하게 설명 합니다 . 두 구문을 간략하게 검토하고 각각의 사용 목적을 설명하는 예를 살펴보겠습니다. 마지막으로 어느 것이 더 나은 접근 방식인지 살펴보겠습니다. 2. 스트링 타입 캐스팅과 toString() 메소드 빠른 요약을 통해 시작하겠습니다. (String) 구문을 사용하는 것은 Java의 유형 캐스팅 과 엄격하게 연결됩니다 . 간단히 말해서 이 구문을 사용하는 주요 작업은 소스 변수를 String 으로 캐스팅하는 것입니다 . String str = (String) object; 우리가 알고 있듯이 Java의 모든 클래스는 직접 또는 간접적으로 toString () 메서드 를 구현 하는 Object 클..

Spring 2021.09.08

JPA @Transient 어노테이션이 있는 필드 무시

1. 소개 ORM(Object-Relational Mapping) 프레임워크를 사용하여 Java 개체를 데이터베이스 레코드에 유지할 때 특정 필드를 무시하고 싶은 경우가 많습니다. 프레임워크가 JPA(Java Persistence API)와 호환되는 경우 이러한 필드에 @Transient 어노테이션을 추가할 수 있습니다 . 이 사용방법(예제)에서는 @Transient 어노테이션 의 올바른 사용법을 보여줍니다 . 또한 Java에 내장된 임시 키워드 와의 관계도 살펴보겠습니다 . 2. @Transient 어노테이션 대 일시적 키워드 일반적으로 @Transient 어노테이션과 Java의 내장 임시 키워드 사이의 관계에 대해 약간의 혼동이 있습니다 . 과도 키워드는 주로 동안 필드 무시위한 것입니다 자바 객체 ..

Spring 2021.09.08

메이븐 패키징 유형

1. 개요 패키징 유형은 모든 Maven 프로젝트의 중요한 측면입니다. 프로젝트가 생성하는 아티팩트의 유형을 지정합니다. 일반적으로 빌드는 jar , war , pom 또는 기타 실행 파일을 생성합니다. Maven은 많은 기본 패키징 유형을 제공하며 사용자 정의 패키징 유형을 정의할 수 있는 유연성도 제공합니다. 이 예제에서는 Maven 패키징 유형에 대해 자세히 알아볼 것입니다. 먼저 Maven의 빌드 수명 주기를 살펴보겠습니다. 그런 다음 각 패키징 유형, 해당 유형이 나타내는 내용 및 프로젝트 수명 주기에 미치는 영향에 대해 논의합니다. 마지막으로 사용자 정의 패키징 유형을 정의하는 방법을 살펴보겠습니다. 2. 기본 포장 유형 Maven 은 jar , war , ear , pom , rar , ej..

Spring 2021.09.08

Java에서 일반 배열 만들기

1. 소개 제네릭 을 지원하는 클래스나 함수의 일부로 배열 을 사용할 수 있습니다. Java가 제네릭을 처리하는 방식 때문에 어려울 수 있습니다. 이 예제에서는 배열과 함께 제네릭을 사용하는 문제를 이해할 것입니다. 그런 다음 일반 배열의 예를 만듭니다. 또한 Java API가 유사한 문제를 어디에서 해결했는지 살펴보겠습니다. 2. 일반 배열 사용 시 고려 사항 배열과 제네릭의 중요한 차이점은 유형 검사를 적용하는 방법입니다. 특히 배열은 런타임에 유형 정보를 저장하고 확인합니다. 그러나 Generics는 컴파일 타임에 유형 오류를 확인 하고 런타임에 유형 정보를 가지고 있지 않습니다. Java의 구문은 새로운 일반 배열을 생성할 수 있음을 시사합니다. T[] elements = new T[size]; ..

Spring 2021.09.08
반응형