인텔리제이) Entity ERD 확인하기
·
자바 탐구
Entity ERD 확인하기 1. "File" -> "Project Structure"를 클릭한다. 2. "Project Settings" -> "Modules" 로 간 후 "main"을 한 번 클릭 후 "+"를 누른다. 3. "JPA"를 클릭한다. 4. "Default JPA Provider"에서 "Hibernate" 선택하고 "확인"을 눌러준다. 5. "View" -> "Tool Windows" -> "Persistence"를 클릭 6. "Persistence"가 인텔리제이의 왼쪽 하단에 생겨있다. "entityManagerFactory"에 오른쪽 클릭을 한 뒤 "Entity Relationshep Diagram"을 클릭한다. 아래와 같이 entity 간의 관계를 눈으로 확인할 수 있다. 이를 통해 ..
자바) 제네릭
·
자바 탐구
Generics 자바에서 타입(Type)을 일반화(generalize)하여 프로그래밍을 하는 방식 클래스 또는 메서드에서 사용할 데이터 타입을 미리 지정하는 것이 아니라, 인스턴스 생성 시점에서 타입을 결정하는 방식이다. 제네릭을 사용하면 타입 안정성(type safet)을 보장할 수 있고, 코드의 가독성과 재사용성이 높아지는 등의 장점이 있다. 제네릭 타입의 이름 선언 자바에서 정의한 규칙 E 요소(Element, 자바 컬렉션(Collection)에서 주로 사용) K 키 N 숫자 T 타입 V 값 S, U, V 두 번째, 세 번째, 네 번재에 선언된 타입 꼭 위의 규칙을 지키지 않더라도 컴파일은 가능하다. 하지만, 다른 사람이 봤을 때에도 쉽게 이해가 되기 위해 따르는 것이 좋다. ? (와일드카드) 어떤..
자바) 어노테이션
·
자바 탐구
Annotation (Metadata) 클래스나 메서드 등의 선언 시에 @를 붙인다. 자바언어에서 사용하는 어노테이션 @Override 해당 메서드가 부모 클래스의 메서드를 Override 했다는 것을 명시 컴파일러에게 부모클래스로부터 Override를 하였다고 전달하여 문제가 생긴다면 알려주도록 할 수 있다. @Deprecated 이 클래스나 메서드는 더이상 사용하지 않을 경우를 명시 만약 사용한다면 경고를 받게 된다. 지워버린 메서드나 클래스를 참조하게 되면 힘겹게 만든 프로그램이 변경사항도 모른 채로 컴파일할 때 에러가 날 것이다. 이러한 하위 호환성을 위해 필요한 어노테이션이다. @SupressWarnings 프로그램에는 문제가 없는데 경고가 날 경우 컴파일러에게 경고해줄 필요 없다고 전달해 준다..
스프링) HTTP 상태코드
·
자바 탐구
HTTP 상태코드 웹 서버가 HTTP의 요청을 받았을 때 해당 요청의 처리 결과를 나타내는 코드이다. Enum Class HttpStatus Enum Constant Description ACCEPTED 202 Accepted ALREADY_REPORTED 208 Already Reported BAD_GATEWAY 502 Bad Gateway BAD_REQUEST 400 Bad Request BANDWIDTH_LIMIT_EXCEEDED 509 Bandwidth Limit Exceeded CONFLICT 409 Conflict CONTINUE 100 Continue CREATED 201 Created EARLY_HINTS 103 Early Hints EXPECTATION_FAILED 417 Expectat..
스프링) Bean
·
자바 탐구
Bean Spring IoC 컨테이너가 관리하는 자바 객체 Bean은 일반 적으로 Spring Framwork에서 제공되는 BeanFactory 또는 ApplicationContext와 같은 IoC 컨테이너에서 생성, 초기화 및 관리가 된다. Bean은 스프링 어플리케이션의 핵심 구성요소이며, 일반적으로 Java 클래스로 구현되며 XML, 어노테이션 또는 자바 기반 구성으로 정의될 수 있다. 스프링 빈 등록 방식 Component Scan @Component를 명시하여 빈을 추가하는 방법 @Component를 붙이면 스프링이 자동적으로 스프링 컨테이너에 빈을 등록한다. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @I..
스프링) 제어의 역전(Inversion of Control)
·
자바 탐구
제어의 역전 (Inversion of Control) 소프트웨어 공학에서, IoC는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 제어의 역전 패턴에는 크게 두 가지가 있다. 1. Dependency Injection(Di) 객체가 필요로 하는 의존성(dependecy)을 직접 생성하지 않고 외부에서 주입받아 사용하는 방법이다. 이를 통해 의존성 주입을 통해 객체 간의 결합도를 낮추고 유연성을 높일 수 있다. 2. Template Method 패턴 상위 클래스에서 알고리즘의 구조를 정의하고, 하위 클래스에서 구체적인 구현 내용을 결정하는 패턴이다. 이를 통해 하위 클래스에서 구현 내용을 변경하여 동작 방식을 다양화할 수 있다. IoC 컨테이너 ..
스프링) 의존관계 주입(Dependency Injection)
·
자바 탐구
의존관계 주입 (Dependency Injection) 객체 지향 프로그래밍에서 사용되는 디자인 패턴 중의 하나로, 클래스 간의 결합도를 낮추기 위해 사용된다. Ioc의 구현 방법 중 하나로 의존관계 주입은 객체가 아닌 외부에서 의존 객체를 생성하고, 생성자, 메서드, 필드 등을 통해 주입하는 방식이다. A class -1 public class A { public void method() { B b = new B(); // B 클래스의 메서드를 호출 b.play(); } } B class public class B { public void play() { System.out.println("B에서 플레이가 되고있습니다."); } } "A class"에서 "B class"를 인스턴스화하여 호출하고 있으므..
스프링 부트) Dependency : Spring Boot DevTools
·
자바 탐구
Spring Boot DevTools InteliJ의 "SpringInitializr"에서 프로젝트 시작 전에 여러 가지 dependency를 추가할 수 있다. 또는 프로젝트를 빌드할 때 아래의 코드를 dependency에 추가하면 된다. Maven org.springframework.boot spring-boot-devtools true Gradle. dependencies { compileOnly("org.springframework.boot:spring-boot-devtools") } 기능 "spring-boot-devtools"를 사용하는 응용 프로그램(application)은 클래스 경로의 파일이 변될 때마다 자동으로 다시 시작한다. 코드를 변경하고 다시 확인하기 위해 다시 시작할 필요 없이 변..
오지랖 토끼
'자바 탐구' 카테고리의 글 목록 (5 Page)