개발/Spring Boot

    [Spring Boot] DTO vs VO vs Entity

    1. DTO (Data Transfer Object) DTO란 데이터 전송 객체이다. 말그대로 데이터를 전송하기 위한 객체로 사용된다. class colorDTO{ private int red; private int blue; private int green; public colorEntity(int red, int blue, int green) { this.red = red; this.blue = blue; this.green = green; } public int getRed() { return red; } public int getBlue() { return blue; } public int getGreen() { return green; } public void setRed(int red) { t..

    [Spring Boot] DI 와 IoC는 무엇일까?

    스프링에서는 IoC와 DI가 전부라는 말을 들었다. 도데체 IoC와 DI가 얼마나 중요하길래 그럴까 라는 생각을 했다. 1. DI (Dependency Injection) DI는 "의존성" 주입이다. 예를 들어 A는 B에 의존한다라는 말은 A는 B의 상황에 따라 바뀔수도 있다라는 말로 될수도 있다. 의존하기 때문에 B가 바뀌면 A에게도 변화가 올 수 있다는 것이다. class A{ public B makeB(){ B b = new B(); return b; } } 코드로 본다면 위와 같은 예시가 있다. A클래스 안에서 b라는 객체를 만들었다. 그런데 갑자기 B라는 클래스에서 생성자를 수정하여 매개변수가 필요하다면 컴파일 오류가 난다. 이와 같이 B의 상황이 바뀌면서 A까지 영향을 미치는 상황이 의존한다 ..

    [Spring Boot] mysql 연결 삽질기

    spring boot, gradle로 프로젝트 세팅을 하고 mysql을 연동하려고 했다. 그런데 mysql 과 연결하는 의존성을 추가하는 과정에서 계속 실패했다. runtimeOnly 'mysql:mysql-connector-java' 나는 위와 같이 의존성을 추가했고 구글링을 해봐도 다들 위와 같이 한다. 그러다가 jdbc의 버전을 명시해줬더니 정상적으로 연결됐다.. runtimeOnly 'mysql:mysql-connector-java:8.0.32' 근데 다른 사람들은 버전을 명시 안해줘도 잘 되는게 이상했다. 그래서 버전을 명시 안해줘도 되는 걸 찾아보다가 아래와 같은걸 발견했다. runtimeOnly 'com.mysql:mysql-connector-j' 결국 마지막 코드로 의존성을 해결했다..