본문 바로가기

Korean9

DAO란 무엇일까? (Data Access Object) DAO는 말 그대로 DB에 접근할때 사용하는 객체. DB에 접속하여 데이터를 조회/수정을 하는 기능을 전담하도록 만든 객체를 말한다. 앞에 DB에서 관리하는 대상(보통 테이블 명)을 붙여 ㅇㅇDao라고 하는듯 하다. User클래스가 있으면 UserDao를 만들고, Review가 있으면 ReviewDao 이런식이다. 예를들어 앱에 회원가입 기능을 넣는다고 하자, 그럼 필요한 클래스들을 생각해보자. 일단 User가 필요하다 public class User{ String id; String password; String name; String address; // 여기에 getter, setter까지 필요하다. } 그리고 그 유저의 정보를 담을 DB 테이블도 필요하다 필드명 타입 설정 id varchar(10.. 2022. 1. 22.
토비의 스프링 1장 | 스프링 개발하려면 토비의 스프링을 꼭 사야할까? 스프링 개발을 구글 서칭 + 책의 필요한 부분만 쏙쏙 빼읽기로 하다보니 조금 야매 개발같아서 스프링의 정석으로 불리는 [토비의 스프링]의 Vol 1과 2를 1장부터 정독하기로 했다. 생각보다 각잡고 정리하면서 읽기보다는 편하게 이해하면서 읽을수 있는 쉽게 쓰인 책이다. 명작으로 칭송받는 책이긴 하지만 그래도 오래된 책이고, 무엇보다 양도 너무 많고 비싸서 다른 책을 샀었는데 나도 돌아돌아 토비의 스프링을 결국 정독하기로 한 만큼, 구입을 망설이는 사람들이 이 글을 보고 '나에게 필요한 책인가' 의심해볼수있었으면 좋겠다. 어처피 안읽을거면 안사는게 좋다고 생각해서... 마음이 앞서는 초보 개발자들 책장에 도대체 두껍고 무거운 책이 얼마나 쌓여있을지 안다^^ 각 장의 내용을 간략하게 정리하고, 소개된 개념들.. 2022. 1. 22.
디자인 패턴 정리 (템플릿 메소드 패턴, 팩토리 메소드 패턴) 토비의 스프링을 공부중인데 디자인 패턴 부분이 헷갈려서 정리를 해보려고 한다. 둘다 개별로는 이해가 가지만, 둘의 구분이 명확히 되지 않아서 정리해보는 글 디자인 패턴이란? 소프트웨어를 설계할 때 직면하는 문제해결을 위해 사용할 수 있는 패턴을 정형화해놓은 것. 주로 객체지향 설계에 관한 것이 많고, 객체지향적 설계 원칙을 이용해 문제를 해결한다. 패턴의 설계 구조를 보면 대부분 비슷한데, 그 이유는 객체지향적인 설계로부터 문제를 해결하기 위해 적용할 수 있는 확장성 추구 방법이 대부분 두 가지 구조로 정리되기 때문. 하나는 클래스 상속이고 둘째는 오브젝트 합성이다. 그래서 대부분 비슷해 보이는 것. (토비의 스프링에서 디자인패턴을 공부할수 있는 서적도 추천해줌. 「GoF의 디자인 패턴」(에릭 감마 외).. 2022. 1. 13.
갑자기 스프링부트 안되는 오류 해결. (cannot resolve symbol 'springframework') 다른 일에 치여서 해오기로 한 개발을 지금 당장 시작해야하는데 InteliJ를 켜니 갑자기 이상한 오류가 생겼다 갑자기 이렇게 Spring 자체가 빨갛게 변했다. 그냥 무시하고 돌리면 당연히 안돌아간다. Exception in thread "main" java.lang.NoClassDefFoundError:org/springframework/boot/SpringApplication 이라는 예외가 뜬다. 예전부터 내 인텔리제이는 가끔 이렇게 날벼락을 주는 일이 있었다. 특히 DB연결 관련해서^^ 그때마다 Gradle중 아무 요소나 지우고->로드->다시 붙여넣고 ->로드를 하면 해결이 됐었다. 그 경험을 살려서 한번 해보자^^ 해결한 방법 1. build.gradle 파일에 가서 plug-in 확인 plug.. 2021. 12. 27.