[Java, 자바] Mybatis Map foreach로 반복하기
프로그래밍/Java2024. 9. 10. 22:55[Java, 자바] Mybatis Map foreach로 반복하기

Spring에서 Mybatis 사용 중 요청 받은 데이터를 Map으로 받아 로직을 수행하는 중 아래와 같은 오류가 발생했다 !unable to make field private final byte[] java.lang.string.value accessible: module java.base does not "opens java.lang" to unnamed module위 에러를 확인 해보면 java.lang 패키지에 접근할 수 없어 발생하는 오류라고한다.해결 방법을 보니 openJDK 버전 문제일 수도 있고 환경 변수에 문제가 있을 수 있다고 해서 여러가지 방법을 시도해봤지만 ! 여전히 해결되지 않아 Mybatis에서 Map을 사용하는 방법을 다시 한번 찾아보기로했다. 📄기존 코드 IN..

[Java, Spring] @ControllerAdvice, @RestControllerAdvice란 ?
프로그래밍/Java2024. 9. 1. 22:41[Java, Spring] @ControllerAdvice, @RestControllerAdvice란 ?

요즘 이것 저것 하느냐고 손이 부족해서 오랜만에 포스팅을 쓰네요 !! 분발하자 !!!! (살려주세요...)@ControllerAdvice와 @RestControllerAdvice 우선 순위에 대해 알아보다 Advice에 대해 같이 정리하면 좋을 것 같아 같이 정리해보려고 합니다🫠 ❓@ControllerAdvice란 ?@ControllerAdvice는 Spring 3.2에서 도입된 어노테이션이고, 모든 @Cotroller 클래스가 공유하는 공통 로직을 정의할 때 사용합니다.주로 예외 처리와 바인딩 설정, 모델 객체 등에 사용됩니다. 아래 예제 코드를 통해 간단히 알아보겠습니다 ! 예제코드NotFoundException이 발생할 경우 error라는 이름의 뷰로 이동하고 메세지를 출력합니다.반환되는 타입을 ..

[Java, 자바] String 클래스에 대하여
프로그래밍/Java2024. 7. 2. 10:47[Java, 자바] String 클래스에 대하여

String 클래스란 ?자바에서 문자를 다루는 대표적인 타입은 char, String 2가지가 있습니다.기본형인 char는 문자 하나를 다룰 때 사용하며, char를 사용해 여러 문자를 나열하려면 char[]를 사용해야합니다. 하지만 이렇게 char[]을 직접 다루는 방법은 매우 불편하기 때문에 문자열을 매우 편리하게 다룰 수 있는 String 클래스를 제공합니다.String은 클래스입니다. int, boolean 같은 기본형이 아니라 참조형입니다. 따라서 String str = new String("hello")로 인스턴스를 생성할 수 있습니다.하지만 자바에서 String 인스턴스 생성 시 String str = "hello" new 키워드를 사용하지 않고 생성할 수 있도록 설정되어있다 ! new 키워..

[Java, 자바] 불변 객체에 대하여
프로그래밍/Java2024. 6. 27. 23:03[Java, 자바] 불변 객체에 대하여

클래스를 불변으로 설계하는 이유자바에서 클래스를 불변으로 설계하는 이유는 캐시의 안정성, 멀티 쓰레드의 안정성, 엔티티의 값 타입 등 다양한 이유에서 클래스를 불편으로 설계하고 있습니다. 하지만 모든 클래스를 불변으로 만드는 것은 아닙니다.대부분 의 클래스는 값을 변경할 수 있게 만들어지는 가변 클래스가 일반 적이고, 불변 클래스는 값을 변경하면 안되는 특별한 경우에 만들어서 사용한다고 생각하시면 됩니다 !캐시, 멀티 쓰레드 등에 대해 해당 글에서 깊이 설명하지 않지만 앞으로의 포스팅을 통해 하나하나 알아가보겠습니다 :) 기본형과 참조형의 공유먼저 자바의 데이터 타입을 가장 크게 기본형(Primitive Type)과 참조형(Reference Type)으로 나눌 수 있습니다.기본형 : 하나의 값을 여러 변..

[Java, 자바] Object클래스에 관하여
프로그래밍/Java2024. 6. 23. 23:40[Java, 자바] Object클래스에 관하여

Object클래스란?먼저 Object는 java.lang 패키지의 대표적인 클래스입니다. 자바에서 모든 클래스의 최상위 부모 클래스는 항상 Object클래스입니다. 아래 그림을 보며 설명을 이어나가겠습니다.클래스에 상속 받을 부모 클래스가 없으면 묵시적으로 Object 클래스를 상속 받습니다.쉽게 이야기해서 자바가 extends Object 코드를 넣어줍니다.따라서 extends Object는 생략하는 것을 권장합니다.클래스에 상속 받을 부모 클래스를 명시적으로 지정하면 Object를 상속 받짖 않습니다.쉽게 이야기해서 이미 명시적으로 상속했기 때문에 자바가 extends Object 코드를 넣지 않습니다.묵시적(Implicit) vs 명시적(Explicit)묵시적 : 개발자가 코드에 직접 기술하지 않아..

[Java, 자바] JVM의 동작원리와 기본개념
프로그래밍/Java2024. 6. 18. 20:30[Java, 자바] JVM의 동작원리와 기본개념

자바는 OS에 독립적인 특징을 가지고 있다.JVM이 OS와 프로그램 사이에서 기계어로 해석해주는 역할을 하기 때문이다.Java의 탄생배경Java는 썬 마이크로시스템즈의 제임스 고슬링 이라는 사람과 다른 연구원들이 개발한 프로그래밍 언어입니다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년 발표가 되었다고합니다 ! 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 개발했는데 아이러니하게도 현재는 웹 어플리케이션 개발에 가장 많이 사용하는 언어 중에 하나가 되어있죠 ㅎㅎ 소문에 의하면 제임스 고슬링이라는 사람이 가전제품 내에 동작하는 프로그램을 개발하려고 하는데 그 당시에는 유닉스 기반의 배경을 가지고 있었기 때문에 사용하던 프로그래밍 언어 C/C++의 특성상 여러 하드웨..

[StringBoot] Azure 번역기 API 사용하기
프로그래밍/Java2024. 6. 12. 21:17[StringBoot] Azure 번역기 API 사용하기

번역기 API를 사용하기 위해 Papago open API를 사용하려고 했으나.... 서비스 지원이 종료됬다고 하네요.....우우우우우~그래서 ! Azure를 통한 번역기 API를 사용해보았습니다 !Azure 가입 및 구독API를 사용하려면 Azure에 가입한 후 구독을 진행해줘야합니다 !  12개월은 무료로 사용할 수 있다고합니다 ! 클라우드 컴퓨팅 서비스 | Microsoft AzureMicrosoft Azure의 유연한 개방형 클라우드 컴퓨팅 플랫폼을 통해 목적에 따라 투자하고 비용을 절감하며 조직을 더 효율적으로 만드세요.azure.microsoft.com위 링크를 통해서 회원가입을 진행한 뒤 메인 페이지 배너에 있는 Azure 무료 체험하기를 클릭하면 해당 서비스를 이용하실 수 있습니다 ! 번역..

[Java, 자바] 추상 클래스(Abstract Class)와 인터페이스(Interface)는 언제 사용해야 될까?
프로그래밍/Java2024. 5. 31. 17:46[Java, 자바] 추상 클래스(Abstract Class)와 인터페이스(Interface)는 언제 사용해야 될까?

추상 클래스와 인터페이스의 특징추상 클래스(Abstract Class)추상 클래스(Abstract Class)는 인터페이스와 유사합니다. 인터페이스와 마찬가지로 인스턴스화 할 수 없으며, 구현을 포함하거나 포함하지 않은 메서드 모두를 가질 수 있다.하지만 인터페이스와 비교하여 추상클래스가 가질 수 있는 중요한 특징 중 하나는 필드를 가질 수 있따는 점이다. 그리고 해당 필드는 static 또는 final이 아닐 수 있으며, public이나 prorected 또는 private으로 선언할 수도 있습니다. 인터페이스를 사용하면 모든 필드가 public, static, final로 처리되면 모든 메서드는 public입니다. 또한 단일 클래스만 extends 할 수 있는 반면, 인터페이스는 여러개를 구현할 수 ..

image