현재 나와있는 스프링 부트는 4버전이지만 좀 안정적인 사용을 위해서는 3버전을 설치하기로 하고 다운로드 페이지로 이동을 합니다.

https://github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3


Spring 사이트는 텍스트 위주로 되어 있어서 정보를 많이 얻을 수는 있지만 뭐가 찾으려면 직관적으로 찾기는 좀 어려운 사이트인것 같습니다.


spring boot download install


링크된 페이지에 가면 Spring tools 최신 4버전 부터 아래로 버전별로 리스트 되어 있고 사용하려는 버전을 선택 하면 됩니다.


spring boot download install


최신 버전은 4이지만 3버전의 마지막 배포본을 다운 받았습니다.

설치는 압축을 풀기만 하면 되기 때문에 가능하면 사용하려는 위치로 압축파일을 이동해서 풀어줍니다. 압축을 풀어줄 때 알집이 아닌 7zip을 이용하길 권장합니다.


spring boot download install


알집으로 압축을 풀면 저만 그런가 오류가 발생해서 실행은 되지만 찜찜한 기분이 들어 7zip을 이용 합니다.


spring boot download install


압축이 풀리면 3개의 폴더가 생기는데 이중 sts라고 되어 있는 폴더에 들어가 보면 


spring boot download install


사용하려는 STS를 볼 수 있습니다.

STS.exe를 실행 합니다.


spring boot download install


java를 설치하지 않았다면 JDK를 찾을 수 없다는 안내 창이 나타나고 기존에 java가 설치 되어 있다면 


spring boot download install


다음과 같은 창이 나오고 작업 폴더를 선택하고 Launch 버튼을 클릭 합니다.


spring boot download install


Spring boot 설치가 완료 되었습니다. 이제부터 좋은 프로그램을 만들기만 하면 됩니다.


- copy coding -


 

프로그램 할 때 query log가 안보이면 제대로 실행이 되고 있는 건지 디버깅도 힘들고 답답하기 때문에 로그 보는 설정을 먼저 진행하게 됩니다오늘 진행하는 작업은 대부분의 Database가 동일한 방법으로 작업이 가능 합니다.

 

먼저 maven을 이용하여 log4j2를 추가 합니다.


pom.xml 

        <dependency>

            <groupId>org.bgee.log4jdbc-log4j2</groupId>

            <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>

            <version>1.16</version>

        </dependency>

 

그리고 추가한 라이브러리가 작동할 수 있도록 application.properties

spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

를 추가하고 source urllog4jdbc 를 추가 해줍니다


application.properties

## PostgreSQL

spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

#spring.datasource.url=jdbc:postgresql://localhost:5432/copydb

spring.datasource.url=jdbc:log4jdbc:postgresql://localhost:5432/copydb

spring.datasource.username=copycoding

spring.datasource.password=copy123

 

다른 데이터 베이스를 사용 하는 경우에도 첫 번째 라인인 DriverSpy는 추가해 주고 url 부분을 다음처럼 변경을 합니다.

spring.datasource.url=jdbc:log4jdbc:oracle:thin:@localhost:1521/xe

spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:3306/testdb

spring.datasource.url=jdbc:log4jdbc:mysql://localhost/testdb

 

그리고 실행을 하면 아래 그림처럼


sql query log


모든 값들이 정리되지 않고 나오게 되는데 이제 정리를 하기 위한 설정을 추가해 줍니다.


 

src/main/resources 폴더에 properties 파일을 하나 생성 합니다.


log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4jdbc.dump.sql.maxlinelength=0

  

src/main/resources 폴더에 추가로 xml 파일을 생성 합니다.


logback.xml

<?xml version="1.0" encoding="UTF-8"?>

 

<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>

      <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern>

    </encoder>

  </appender>

 

  <logger name="jdbc" level="OFF"/>

 

  <logger name="jdbc.sqlonly" level="OFF"/>

  <logger name="jdbc.sqltiming" level="DEBUG"/>

  <logger name="jdbc.audit" level="OFF"/>

  <logger name="jdbc.resultset" level="OFF"/>

  <logger name="jdbc.resultsettable" level="DEBUG"/>

  <logger name="jdbc.connection" level="OFF"/>

 

  <root level="INFO">

    <appender-ref ref="STDOUT" />

  </root>

 

</configuration>

 

이제 다시 실행을 하고 console을 보게 되면 


sql query log


보기 좋게 형식을 갖추어 출력이 됩니다.


- copy coding -


Spring Tool Suite 3.9.11.RELEASE를 사용하고 있는데 SVN을 설치하려고 하니 잘 안되는것 같습니다.  Eclipse Marketplace에서 검색을 하니 설치 할만 한건 ContextQuickie 인것 같아 설치를 했으나 사용이 안되는것 같고



spring boot svn


Subversive 을 설치하려고


spring boot svn


Install 버튼을 클릭하면


spring boot svn


호환이 되지 않아 설치가 진행되지 않습니다.  Git는 잘 되는것 같은데 프로젝트에서 SVN을 사용하여 방법을 찾아 보았습니다.



SVN 설치


그냥 예전에 설치하던 Install을 이용한 방법을 사용해서 해결 하였습니다.설치 방법과 project commiteclipse와 동일 합니다잘 아시는 분들은 아래 부분을 읽어볼 필요가 없습니다.

 

Help > Install New Software 메뉴를 선택 하고


spring boot svn


Install 팝업 창이 나오면


spring boot svn


Add 버튼을 클릭 하여 Add Repository 창을 오픈 합니다.


spring boot svn


여기에 Name은 아무거나 구분할 수 있도록 입력 하고 Location에는 https://dl.bintray.com/subclipse/releases/subclipse/4.3.x/ 를 입력하고 Add 버튼을 클릭 합니다.


spring boot svn


잠시 뭔가 찾는 척을 하다가


spring boot svn


설치할 항목을 보여주는데 저는 그냥 모두 선택 했습니다. 전부 설치하기 싫으면 SVNKit, Subclipse 만 선택하고 Next 버튼을 클릭 합니다.


spring boot svn


설치를 진행하려는 내용을 보여줍니다.  Next 버튼을 클릭 합니다


spring boot svn


설치할 상세 정보 입니다.  Next 버튼을 클릭 합니다.


spring boot svn


라이센스 동의를 해주고 Finish 버튼을 클릭 합니다.


spring boot svn


설치 중간에 팝업이 나오면 Install anyway 버튼과 


spring boot svn


설치 후 재시작을 하라고 Restart Now 버튼을 클릭 합니다.  Spring Boot가 재시작 하면 SVN이 생성 되어 있고 


spring boot svn


SVN Repositories를 선택하면 탭 창이 활성화 됩니다.


spring boot svn


탭 창에서 SVN 아이콘을 클릭해 줍니다.


spring boot svn


SNV 서버 주소를 입력하고 Finish 버튼을 클릭 합니다. SVN 설치가 완료 되었습니다



프로젝트 Commit

 

프로젝트에 마우스를 대고 우클릭 하여 


spring boot svn


Team > Share Project 메뉴를 선택 합니다처음에만 이런 메뉴가 나옵니다.


spring boot svn


SVN을 선택 해야 겠죠.  Next 버튼을 클릭 합니다.


spring boot svn


기존 Repository를 사용하기 위하여 Next  버튼을 클릭 합니다.


spring boot svn


프로젝트 폴더명도 그대로 사용하기로 하고 Finish 버튼을 클릭 합니다.


spring boot svn


Remember my decision을 클릭하고 Yes 버튼을 클릭 하면


spring boot svn


SVN 서버와 데이터를 비교하여 결과를 보여 주는데 처음 소스를 올리는 것이니 모두 + 표시로 나타납니다.


spring boot svn


프로젝트 명에 마우스를 놓고 우측 버튼을 클릭 해서 모두 Commit 합니다.


spring boot svn


커밋 하는 이유에 대해 comment 를 입력 하고 OK 버튼을 클릭 합니다.


spring boot svn


소스가 모두 서버에 반영되었습니다이제 끝없는 update commit의 늪에서 허우적거리면 됩니다.


- copy coding -


Spring Boot에서 jsp로 화면을 만들고 Controller에서 View로 리턴을 하였는데 jsp 파일을 찾지 못하는 경우 ResourceHttpRequestHandler :Path with "WEB-INF" or "META-INF" 이런 식으로 발생하는 오류입니다브라우저에는 아래와 같은 오류가 발생 하고


spring boot jasper


Console에도 아래 처럼 오류 로그를 확인할 수 있습니다


spring boot jasper


spring boot jasper


2020-02-14 11:54:00.941  INFO 33124 --- [nio-9090-exec-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...

2020-02-14 11:54:01.089  INFO 33124 --- [nio-9090-exec-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.

2020-02-14 11:54:01.151  WARN 33124 --- [nio-9090-exec-1] o.s.w.s.r.ResourceHttpRequestHandler     : Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/board/BoardList.jsp]

2020-02-14 11:54:05.743  WARN 33124 --- [nio-9090-exec-2] o.s.w.s.r.ResourceHttpRequestHandler     : Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/welcome.jsp]


사실 오류라기 보다는 Spring Boot에서 내장된 Tomcat을 사용 하는 경우 JSP를 처리하는 서블릿을 추가하지 않아 발생하는 것으로 pom.xml에 다음을 추가해 주면 해결 됩니다.


 <dependency>

        <groupId>org.apache.tomcat.embed</groupId>

        <artifactId>tomcat-embed-jasper</artifactId>

</dependency>


pom.xml에 추가하고  Maven update 하고 Maveninstall 하고 실행해 보면 이번에는 화면에 출력이 잘 나옵니다.



123

+ Recent posts