본문 바로가기

Spring 3.0 - 4.3

메이븐 기초 (2) pom 파일 *** 메이븐 기초 1편 안보고 왔다면 보러가기 :-) https://rimkongs.tistory.com/243 메이븐 기초 (1) Maven이란 / Maven 설치법 / jar파일 생성하기 Maven이란? 프로젝트 빌드와 라이프 사이클, 사이트 생성 등 프로젝트 전반을 위한 관리 도구로서 많은 자바 프로젝트가 메이븐을 사용해서 프로젝트를 관리하고 있다. 그럼, Maven을 왜 사용할까? rimkongs.tistory.com 메이븐 프로젝트를 생성하면 pom.xml 파일이 프로젝트 루트 폴더에 생성된다. 이 pom.xml 파일은 Project Object Model 정보를 담고 있는 파일이다. pom.xml 의 주요 관련 태그만 살펴보자. (각자 pom.xml 파일을 열어 살펴보자) : 이 프로젝트에서.. 더보기
메이븐 기초 (1) Maven이란 / Maven 설치법 / jar파일 생성하기 Maven이란? 프로젝트 빌드와 라이프 사이클, 사이트 생성 등 프로젝트 전반을 위한 관리 도구로서 많은 자바 프로젝트가 메이븐을 사용해서 프로젝트를 관리하고 있다. 그럼, Maven을 왜 사용할까? Spring Framework에는 다양한 모듈이 존재한다. 핵심 모듈로는 spring-core, spring-beans, spring-context, spring-aop를 비롯한 spring-webmvc, spring-jdbc, spring-tx 등이 있다. 각 모듈은 스프링 프레임워크에 포함되어 있지 않은 다른 모듈을 필요로 한다. 예를 들어 spring-aop 모듈은 aopalliance 모듈을 필요로 하고, spring-orm 모듈은 JAP나 하이버네이트 모듈을 필요로 한다. 각 모듈은 모두 메이븐 중.. 더보기
[에러] 톰캣 404에러 - Controller 부분 확인하기 진짜 이런 실수 하면 내 정체가 뭔가 싶다 ^^.... 웹서버 톰캣으로 가동하고 localhost 쳐서 들어가려는데 계속 404에러가 뜨는거다... web.xml 설정이라던지, 스프링에서 톰캣 등록할 때 톰캣 설치된 위치 제대로 확인하고 해당 위치에 있는 톰캣으로 넣어줬고, 주소는 잘못된 게 당연히 없었는 줄 알았는데..............주소가 잘못됐었다 ㅎ.. 에러 원인 25번째 줄의 RequestMapping이 주석해제 되어있는 상태였다. 이 상태에서 localhost:8080/musicchart/song 을 치고 들어가려니까 계속 404가 떴다. 당연하다. 이 프로젝트의 ContextRoot가 musicchart 인데 RequestMapping 으로 또 musicchart를 쳐서 들어올 수 있게.. 더보기
[에러] MyBatis 이용 시, DTO 객체와 테이블의 컬럼명은 동일해야한다. MyBatis는 resultType에 맞게 리턴타입을 반환합니다. 예를들어 SONG 테이블의 모든 컬럼은 SongVO의 'song_title, song_key ...' 속성값으로 처리됩니다. 좀 더 엄밀하게 말하면 MyBatis는 위의 쿼리 결과에서 song_title 이라는 컬럼이 존재하면 인스턴스의 setSong_title(); 를 호출하게 됩니다. MyBatis의 모든 파라미터와 리턴 타입의 처리는 get 파라미터명(), set 컬럼명()의 규칙으로 호출됩니다. 에러원인 해당 쿼리에 대한 데이터 값은 컬럼명을 참조하여 setSong_key(), setSong_title() .. 이런식으로 세팅이 됩니다. SELECT SONG_KEY, SONG_TITLE, REL_DATE, YOUTUBE_LINK, .. 더보기
[Spring] Spring의 의존성 주입이란 / 어노테이션이란 비즈니스 계층 비즈니스 계층은 고객의 요구사항을 반영하는 계층으로 프레젠테이션 계층과 영속 계층의 중간 다리 역할을 하게 됩니다. 일반적으로 비즈니스 영역에 있는 객체들은 '서비스(Service)'라는 용어를 많이 사용합니다. 일단, 비즈니스 계층을 위해서 프로젝트 내 com.exe.service라는 패키지를 작성합니다. 설계를 할 때 각 계층 간의 연결은 인터페이스를 이용해서 느슨한 연결을 합니다. Service 인터페이스와 그 인터페이스를 구현한 ServiceImpl 을 만들어줍니다. SongVO.java (데이터객체) package com.exe.domain; import lombok.Data; @Data public class SongVO { private String song_key; priva.. 더보기
1탄 - 스프링을 이용해 Rest API 만들어보기 전통적인 웹 애플리케이션은 주로 서버사이드에서 화면에 필요한 모든 데이터를 만들어서 브라우저에 전송해주고, 브라우저는 단순 뷰어 역할에 그치는 형태였습니다. 요즘의 서버는 브라우저나 모바일에서 필요한 순수한 데이터만을 전달하는 API 서버의 형태로 변화하고 있습니다. 예컨대, 검색 API 서버는 검색의 결과를 XML이나 JSON의 형태로 전달하고, 브라우저나 모바일에서는 이를 가공해서 사용자에게 보여주는 방식입니다. 즉, 브라우저에서 서버에 기대하는 것은 완성된 HTML이 아니라 그저 자신에게 필요한 순수한 데이터만을 요구합니다. REST = Representational State Transfer 의 약어로 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 .. 더보기
[에러] MyBatis - selectOne으로 가지고 올 때 result가 null인 경우 처리 방법 문제원인 매퍼에 resultType = int 로 되어 있었고 DAO 에서 그 null값을 return해주려 하니깐 아예 서비스단으로 return 자체가 되지도 못했다. 아래가 문제의 코드다. 쿼리절에서 해당 조건에 만족하는 데이터가 없어서 NULL을 반환하는 상태이다. mapper.xml SELECT RANK FROM CHART WHERE SITE_NAME = #{siteName, jdbcType=VARCHAR} DAO.java public int getPreRank(Chart chart){ return sessionTemplate.selectOne("sourcemapper.getPreRank",chart); } 해결법 - null을 받아들일 수 있는 객체타입으로 바꿔준다. int → Integer m.. 더보기
Tomcat 다운로드 및 Eclipse에 Tomcat 등록하기 Tomcat 버전은 자신이 사용하고 있는 jdk 버전과 같거나 그 이하의 버전을 다운로드 해주면 된다. 필자는 jdk 11 을 이용하고 있고, tomcat8을 다운로드 받을 것이다. ⓛ Tomcat8.0 다운 https://tomcat.apache.org/download-80.cgi 위 링크에 가서 zip 이라고 표시된 것을 다운받는다. ② 압축파일을 풀어 원하는 위치에 넣어준다. 편의를 위해 eclipse와 같은 위치에 넣어주었다. D:\java ③ 한글인코딩 UTF-8 설정하기 D:\java\apache-tomcat-8.5.45\conf\server.xml 파일을 우클릭하여 메모장으로 열어준다. server.xml 이 웹서버 프로그램 역할을 하는 곳이다. ... 웹 서버의 port는 8080, 프로토.. 더보기