일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 북클럽
- 노개북
- spring
- 딥러닝
- JPA
- REST API
- 스프링프레임워크
- Deep Learning
- 스프링스터디
- 임팩트커리어스터디
- Dao
- springboot
- IntelliJ
- 클린코드
- 인공신경망
- valid
- 인텔리제이
- mysql
- requestbody
- 스프링어노테이션
- 북스터디
- Machine Learing
- til
- 머신러닝
- 개발서적
- 개발필독서
- 노마드코더
- 스프링컨테이너
- 객체지향특징
- NullCheck
- Today
- Total
목록Back/Springboot (9)
dev.jaieve 공부기록

회사에서 개발을 할 때 마이크로서비스 구조로된 프로램을 개발하고 있어서 동시에 3개의 프로젝트를 run 한다. 그런데 어제까지만 해도 잘 실행되던 2개의 프로젝트를 run 했는데 다음과 같은 오류가 발생했다. 해당 메인 Applicaiton.java를 가서보니 @SpringApplicaiton 애너테이션이 제대로 import되지 않는 듯 빨간줄이 쳐져있었다. alt + Enter로 추천 해결방법을 적용하려고 했지만 dependency는 추가되지 않았다. 그래서 dependency를 설정하는 build.gradle를 확인해봤다. 하지만 그런데 문제는 build.gradle이 변경된적은 없다는 것... 프로젝트를 clean하고 다시 build해봤지만 오류는 여전했다. 그래서 구글링을 통해서 다음과 같은 방법..

1. 다형성(polymorphism) 실제 세상을 비유로 들었을 때, 세상은 역할과 구현으로 구분할 수 있다. 키보드라는 개념과 다양한 모델들, 마우스라는 개념과 다양한 제품 모델들 과 같은 세상의 표준 인터페이스들 공연 무대 남주 및 여주(역할)에 더블캐스팅된 배우들(구현) 운전자(역할)와 자동차(역할). 그리고 다양한 자동차 모델(구현) a. 다형성 장점 프로그램을 사용하는 클라이언트는 대상의 역할만 알면된다. 클라이언트는 구현 대상의 내부 구조를 몰라도 된다. 클라이언트는 구현 대상의 내부 구조가 변경되어도 영향을 받지 않는다. 클라이언트는 구현 대상 자체를 변경해도 영향을 받지 않는다. b. 객체지향언어인 자바의 다형성 역할 = Interface / 구현 = 구현객체(Class implements..
* 이 글은 howToDoInJava.com의 원문을 학습용으로 번역한 글로 잘못된 해석이 있을 수 있음을 사전에 알려드립니다! 1. Spring bean Stereotype Annotations 1.1 @Component 어노테이션 @Component 어노테이션은 Spring의 component-scanning 메커니즘에 의해 bean을 스프링컨테이너 ApplicationContext에 만들어 넣어준다. @Component public class EmployeeDAOImpl implements EmployeeDAO { ... } 1.2 @Repository 어노테이션 @Component 의 기본 특성에 DAO에 특화된 추가적인 기능을 제공하는 어노테이션으로 기능은 @Component와 거의 유사하다. ..
스프링 컨테이너란 스프링 컨테이너를 스프링의 Bean을 생성하고 관리한다. 기본적으로 빈은 싱글통으로 생성된다. 스프링 컨테이너는 2가지 유형이 있다고 한다. Bean Factory ApplicationContext Bean Factory 스프링 설정파일(@Configuration)에 등록된 Bean 객체를 생성하고 관리하는 기본적인 기능을 제공하는 IoC컨테이너이다. 하지만 실제 Bean의 생성 및 관리에는 추가적 기능이 필요해서 스프링컨테이너 두 번째 유형이자 Bean Factory를 상속받아 확장된 ApplicationContext을 주로 사용한다고 한다. ApplicationContext란? 컨테이너의 기본적인 기능(Bean 생성 및 관리)뿐만 아니라 트랜잭션 관리, 메시지 기반의 다국어 처리, ..
Null 체크부터 Exception 까지의 흐름 DTO란? Data Transfer Object의 약자로, 컨트롤 layer(controller)에서 받아온 데이터를 서비스 layer(service)로 넘겨줄 때 이용한다. HTTP 통신시 API의 request와 response를 통해 Object가 호출된다. 하지만 Object의 domain에서의 여러 변수가 항상 필요하지는 않다.(ID만 가져오거나, nickname만 필요하거나 등등) API마다 request 및 response하는 parameter가 다르기 때문에 필요한 데이터만 정의되는 클래스가 필요하다. DTO가 바로 그 역할을 한다. DTO에서 필수 값에 대한 조건 체크를 하는 것은 DTO에서 Domain으로 변환하는 로직이고, 요청된 Dom..
JPA의 DTO와 JSP의 DAO의 차이점 DTO는 Controller와 Service 계층을 이어주는 객체이고, DAO는 서비스와 DB를 이어주는 객체이다. 때문에 DTO를 사용하는 경우 DB와 연결되는 계층이 필요한데 domain이 그 역할을 맡는다. 이렇게 이해하면 초보자이거나 입문자 입장에서는 Entity == DAO 라고 쉽게 이해할수 있지만 DAO와 domain의 Entity는 의미론적으로 다르기 때문에 같다고 생각해서는 안된다. DAO는 연결할 DB의 설정정보와 같은 정보들을 갖고 있는 계층이다. 하지만 JPA의 경우 이런 db properties를 application.properties 또는 application.yml이란 파일에 설정해두고 JPA가 알아서 Connection 객체를 생성..

국비훈련과정을 이수하면서 이클립스를 이용한 Spring Maven 기반의 프로젝트를 수행해왔다. 최근 코멘토를 통해 개발직 현업 실무에서 쓰는 환경을 따라해보는 기회를 얻으면서 인텔리제이를 설치하고 Gradle 기반의 프로젝트를 처음 접하게 됐다. Maven은 pom.xml로 라이브러리를 관리하던것과 달리 application.properties(또는 .yml)과 build.gradle로 dependencies를 관리하는 것을보며 보다 편하게 개발환경을 세팅할 수 있었다. 하지만 그 차이점을 몰라서 블로그에 정리하면서 빌드 관리도구에 대해 이해해보고자 한다. '빌드'와 '빌드 툴' 에 대한 이해 빌드란 소스코드 파일을 실행 가능한 소프트웨어 산출물로 만드는 과정을 말한다. 예를 들어 게임회사에서 게임을 ..
환경 설정 1. 인텔리제이 설치 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE 무료버전인 Community를 다운로드 한다. 2. Java의 JDK 11 설치 - Oracle아닌 open jdk 11버전 선택 참고한 글 : 윈도우 OpenJDK 11 설치, OpenJDK 다운로드 설치 방법 new project로 만들면서 java 버전을 11로 선택했다. 때문에 jdk를 11로 동일하게 맞춰줘야 함. 11.0.1(build 11.0.1+13)의 Windows 버전 다운로드 Archived OpenJDK GA Releases 자바 환경변수 등록 참고한 글 인텔리제이에 설치, 11로 변경해줘야하는 부분들 설정이 안되어 있으면 나타날 수 있는 오류 참고한 글 ..