간단한 설명프로젝트를 진행하다 보면 시크릿 키와 같이 외부에 노출해서는 안되는 값들을 사용할 때가 있습니다.만약 코드 내부에 시크릿 키를 저장하고 사용할 경우 외부에 노출될 위험이 커집니다.이럴 경우 application.properties 와 같은 파일에 보안이 필요한 값들을 넣어 두고 .gitignore 로 등록하여 외부에 노출이 되지 않게 하며 필요할 때 꺼내 쓰면 외부에 노출될 위험이 줄어듭니다. 이렇게 application.properties 에 보안이 필요한 값들을 꺼내오는 어노테이션이 바로 @Value 입니다.사용@Value 를 사용하기 전에 우리는 보안이 필요한 값을 저장할 수 있는 파일을 만들어야 합니다.Spring 에서는 애플리케이션에서 사용하는 설정 값을 외부 파일인 test.prop..
Spring BeanSpring Bean은 Spring Framework에서 관리하는 객체를 의미합니다. Spring IoC (Inversion of Control) 컨테이너는 애플리케이션에서 객체의 생명 주기와 의존성 주입(Dependency Injection)을 관리합니다. Spring에서 관리하는 객체는 모두 Bean이라고 부르며, 이는 Spring 컨테이너가 생성하고 관리하는 객체입니다.Spring Bean을 등록하는 방법고전적인 방법 - Spring Bean XML 설정먼저 등록하고 싶은 Bean 파일을 만들어야 합니다.MyService 객체가 MyRepository 의존성을 갖고 있다고 가정하겠습니다.public class MyService { private final MyRepository..
제네릭제네릭(Generic)은 클래스나 메서드에서 사용할 데이터 타입을 일반화해서 재사용성을 높이고 타입 안전성을 제공하는 Java의 기능입니다. 제네릭 클래스 (Generic Class)클래스 선언 시 타입 매개변수(T)를 사용하여, 해당 클래스가 특정 타입에 의존하지 않고 재사용 가능하게 만듭니다.는 타입 매개변수를 의미하며, 이는 클래스의 인스턴스를 생성할 때 구체적인 타입으로 대체됩니다.클래스 단위로 제네릭을 도입합니다.클래스를 정의할 때는 타입을 특정하지 않고, 객체를 생성하는 시점에 구체적인 타입을 지정합니다.// 제네릭 클래스 정의public class GenericClass { private T data; // T 타입의 필드 public GenericClass(T data) {..
자바에서 오류 처리는 예외(Exception)를 통해 관리됩니다. 프로그램 실행 중 발생할 수 있는 다양한 오류를 예외로 정의하고, 이를 처리하거나 방지하는 구조를 설계하는 것이 중요합니다.기본적인 예외 처리 구조자바에서 예외 처리는 try-catch 블록을 사용합니다. try 블록은 예외가 발생할 수 있는 코드를 포함하고, catch 블록은 예외가 발생했을 때 실행되는 코드를 작성합니다.예외가 발생할 수 있는 코드, 예외를 발생했을 때 실행되는 코드라는 말을 이해하셔야 합니다.try { ; ; ...} catch(예외1) { ; ...} catch(예외2) { ; ...} 아래 코드는 0으로 나누는 연산이 발생했을 때, ArithmeticException 예외를 잡..
오라클 SQL - ORDER BYSQL에서 데이터를 조회할 때 원하는 순서대로 정렬하는 방법이 필요할 때가 많습니다.그때 사용하는 것이 바로 ORDER BY 절입니다. ORDER BY 절은 쿼리 결과의 정렬 순서를 지정하는 역할을 합니다.결과를 특정 컬럼을 기준으로 오름차순 또는 내림차순으로 정렬할 수 있습니다. 기본 문법ORDER BY의 문법은 다음과 같습니다.SELECT column1, column2, ...FROM table_nameORDER BY column_name [ASC | DESC];column_name : 정렬 기준이 되는 컬럼입니다.ASC : 오름차순 정렬 (작은 값 → 큰 값). 기본값이므로 생략 가능.DESC : 내림차순 정렬 (큰 값 → 작은 값).예제 테이블예제를 통해 하나씩 확..
IN 연산자는 SQL에서 여러 값 중 하나와 일치하는지 확인할 때 사용하는 연산자입니다.주로 WHERE 절에서 사용되며, 특정 컬럼의 값이 주어진 여러 값 중 하나와 일치하면 해당 행이 반환됩니다. 기본문법SELECT column1, column2, ...FROM table_nameWHERE column_name IN (value1, value2, ..., valueN); IN 연산자의 동작 예시다음과 같은 테이블 employees 가 있다고 가정해 봅시다. 특정 부서에 속한 직원을 조회하려면 다음과 같이 작성합니다.SELECT name, departmentFROM employeesWHERE department IN ('Sales', 'IT'); NOT IN 사용하기NOT IN 은 특정 값과 일치하지 않..
toString() 메서드toString() 메서드는 Java에서 객체를 문자열로 표현하기 위해 사용하는 메서드입니다.모든 클래스는 Object 클래스를 상속받으며, toString() 메서드는 Object 클래스에서 기본적으로 제공됩니다.toString 의 일반 규약은 '간결하면서 사람이 읽기 쉬운 형태의 유익한 정보' 라고 정의되어 있습니다.toString()의 기본 동작Object 클래스의 toString() 메서드는 다음과 같은 문자열을 반환합니다.ClassName@HashCodeInHex 위에서 사람이 읽기 쉬운 형태의 유익한 정보라고 했는데 기대와 달리 전혀 간결하지도, 읽기 쉽지도, 유익하지도 않습니다. java.lang 패키지의 Object 클래스의 toString 메서드의 구현을 살펴보면..
String은 Java에서 가장 많이 사용되는 클래스 중 하나로, 문자열(텍스트 데이터)을 다루기 위해 설계된 불변(Immutable) 클래스입니다.java.lang.String 클래스는 기본적으로 Java 프로그램에서 자동으로 임포트 되며, 문자열을 효율적으로 처리할 수 있도록 다양한 기능과 메서드를 제공합니다.String의 특징불변성 (Immutability)String 객체는 한번 생성하고 나면 절대 변경할 수 없습니다. 따라서 문자열을 수정하려고 하면, 기존 문자열을 바꾸는 대신 새로운 String 객체를 생성합니다.String str = "Hello";str.concat("World"); // 새로운 문자열 생성, str은 여전히 "Hello"System.out.println(str); // 출..