반응형

스프링 부트 프레임워크에는 내장 웹 서버(톰캣)가 자동으로 설정되어 있습니다. 

그렇기에 우리는 SpringBootApplication을 통해 웹 서버를 작동시킬 수 있습니다.

 

다음은 스프링부트 기반 jar/war의 내장 웹 서버(톰캣)를 이용해서 윈도우 서비스 등록을 사용 방법에 대해서 설명하겠습니다.

 

 winsw 프로그램 다운로드 

 

https://github.com/kohsuke/winsw/releases

http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.1.2/

 

위의 링크를 통해 winsw의 최신 버전 exe 파일을 다운 받는다. 

 

 

 winsw 설정

 

winsw.exe 파일과 동일한 폴더 위치에서 다음과 같은 설정  .xml을 만든다 

 

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<service>
    <id>서비스명</id>
    <name>서비스명</name>
    <description>서비스에 대한 설명</description>
    <executable>java</executable>
    <arguments>-jar "xxxx.jar / xxx.war"</arguments>
    <logmode>rotate</logmode>
</service>
cs

 

winsw.exe 와 설정파일.xml 은 동일한 이름으로 변경한다 

 -> 주로 프로젝트 명 혹은 서비스 등록 명으로 바꾸면 된다.

 

xxxx.jar / xxxx.war 의 경우는 자신의 스프링 부트 jar를 입력하면 된다.

 

 

 서비스 등록

 관리자 권한으로 CMD 창을 실행 한다.

  관리자 권한으로 실행하지 않을 시 권한 거부 에러가 발행할 수 있다.

 

위에서 만든 서비스명.exe (winsw.exe) 파일 위치로 이동 한 뒤 아래의 명령어를 친다.

 

서비스명.exe install

에러가 발생하지 않으면 서비스에 내가 등록한 서비스명으로 서비스가 등록된 것을 확인할 수가 있다.

 

반대로 등록한 서비스를 삭제하는 방법으로는 

서비스명.exe uninstall

 

 또한 

 서비스는 등록되었으나 서비스 시작 시 발생하는 에러는 

 동일 폴더 내 log 파일을 확인할 수 있다.

 

 

 

 

관련 내용 출처

 -http://cpsally.blogspot.com/2018/06/spring-boot-as-windows-service.html

 

반응형
반응형
더보기

ㅁ 우원프로젝트 

  ㅇ 프로젝트 개요 : 아빠가 사용 하는 판매재고 프로그램의 계약 만료로 그와 동일한 기능을 하는 판매재고 웹 사이트를 제작 

 

ㅁ 해야 할 일 

  ㅇ  요구사항 정리 

      - 프로세스 정리 

      - 메뉴 구성 

      - DB 구성 

      - 개발 언어, 기술 정리 (스프링, JSP, VUE 로해보고 싶은데... 부트스트랩, TUI 등 등)

      - 보안 구성 (스프링 시큐리티) 

      - 트랠로를 통한 TODO 리스트 지속 관리 

 

ㅁ 프로젝트 목표 

   ㅇ 4월 10일 내로 사용 가능한 우원 웹 솔루션 제작 

   ㅇ 개발 건에 대해서는 블로그에 기록 남기기 

   ㅇ GCP 서버 운영 하며 리눅스 다루기 

   ㅇ 깃, 젠킨스, 뱀부?, 깃엑션 등을 이용한 CI 구성 

ㅁ 개발 진행 사항

  - 거래처 관리 개발 완성

  - 매출/매입 관리 구조 변경 

    -> sale_mgmt / sale_dtl_mgmt 로 구분 

    -> DB 변경 기존

    -> 전표 개념을 도입하여 sale_no, cmpny_cd, sale_date 를 키 값으로 전표 개념을 만들고,  기존에 있던 sale_mgmt는 dtl 상세 개념으로 구분 하므로써 해당 날짜에 해당 거래처와 여러 전표(거래)를 등록 할 수 있도록 수정 

 

 

ㅁ 추후 진행 예정

  - 매출/입금의 거래처 선택 검색 조건에서 거래처 입력 후 클릭 시 모달 팝업으로 거래처 리스트 후 거래처 추가 

  - 새로 정한 매출/매입 프로세스를 기반으로 마스터 페이지와 상세 페이지 구분 

매출 매입 재 정의프로세스

1. 거래 일시 선택 -> 2. 거래처 선택 -> 3. 조회 -> 4-1. 리스트가 존재시 리스트 구축 및 전표 명 클릭 시 상세 진입 / 4-2 전표 추가버튼 클릭 시 전표 명 입력 후 추가 버튼으로 전표 생성 이후는 4-1과 동일 하게 전표 상세 진입 

   - 전표 상세는 기존에 개발한 매출매입을 적용 후 수정 

   - 하단 금액 총계 및 입금금액 추가 및 저장 기능 추가 

 

 

ㅁ 결과물

 

반응형

'IT > 우원프로젝트' 카테고리의 다른 글

우원 프로젝트 2020-03-31  (0) 2020.04.01
우원 프로젝트 2020-03-29  (0) 2020.03.30
우원 프로젝트 2020-03-24  (0) 2020.03.24
우원프로젝트 2020-03-23  (0) 2020.03.24
우원프로젝트 2020-03-22  (0) 2020.03.22
반응형
더보기

ㅁ 우원프로젝트 

  ㅇ 프로젝트 개요 : 아빠가 사용 하는 판매재고 프로그램의 계약 만료로 그와 동일한 기능을 하는 판매재고 웹 사이트를 제작 

 

ㅁ 해야 할 일 

  ㅇ  요구사항 정리 

      - 프로세스 정리 

      - 메뉴 구성 

      - DB 구성 

      - 개발 언어, 기술 정리 (스프링, JSP, VUE 로해보고 싶은데... 부트스트랩, TUI 등 등)

      - 보안 구성 (스프링 시큐리티) 

      - 트랠로를 통한 TODO 리스트 지속 관리 

 

ㅁ 프로젝트 목표 

   ㅇ 4월 10일 내로 사용 가능한 우원 웹 솔루션 제작 

   ㅇ 개발 건에 대해서는 블로그에 기록 남기기 

   ㅇ GCP 서버 운영 하며 리눅스 다루기 

   ㅇ 깃, 젠킨스, 뱀부?, 깃엑션 등을 이용한 CI 구성 

 

ㅁ 개발 진행 사항

  - 매출/입금 수정 기능 추가 

  - 페이지 분리 

     -> 껍데이 페이지와 리스트 페이지 구분 

  - jquery dataPicker 추가 

  - UI 추가 수정

     -> 칼럼 배경 색 추가

 

ㅁ 추후 진행 예정

  - 거래처 관리 개발

  - 매출/입금의 거래처 선택 검색 조건에서 거래처 입력 후 클릭 시 모달 팝업으로 거래처 리스트 후 거래처 추가 

 

 

ㅁ 한마디

더보기

  - 분명 간단하다고 생각 했다. 하지만 아무것도 없는 빈 프로젝트에서 내가 하나 하나 모든 기능을 만드려고 보니 그동안 편하게 사용해 왔던 기능들은 다 이미 설정되어 있는 것이고 나는 그걸 자연스럽게 가져다 쓰기만 했던 것이다.

그래도 이제는 어떤 에러가 발생하면 아 이게 그게 설정이 안되서 에러가 뜨는 거구나 하는 생각이 바로바로 떠오르게 됐고, 바로바로 수정할 수 있는 기본은 갖춘 것 같다. 

이번 프로젝트를 통해서 나만의 프레임워크를 구축 해 나가는 것도 목표에 추가를 해야겠다.

 

 

ㅁ 결과물

반응형

'IT > 우원프로젝트' 카테고리의 다른 글

우원 프로젝트 2020-03-29  (0) 2020.03.30
우원프로젝트 2020-03-25  (0) 2020.03.27
우원프로젝트 2020-03-23  (0) 2020.03.24
우원프로젝트 2020-03-22  (0) 2020.03.22
우원프로젝트 2020-03-20  (0) 2020.03.21
반응형
더보기

ㅁ 우원프로젝트 

  ㅇ 프로젝트 개요 : 아빠가 사용 하는 판매재고 프로그램의 계약 만료로 그와 동일한 기능을 하는 판매재고 웹 사이트를 제작 

 

ㅁ 해야 할 일 

  ㅇ  요구사항 정리 

      - 프로세스 정리 

      - 메뉴 구성 

      - DB 구성 

      - 개발 언어, 기술 정리 (스프링, JSP, VUE 로해보고 싶은데... 부트스트랩, TUI 등 등)

      - 보안 구성 (스프링 시큐리티) 

      - 트랠로를 통한 TODO 리스트 지속 관리 

 

ㅁ 프로젝트 목표 

   ㅇ 4월 10일 내로 사용 가능한 우원 웹 솔루션 제작 

   ㅇ 개발 건에 대해서는 블로그에 기록 남기기 

   ㅇ GCP 서버 운영 하며 리눅스 다루기 

   ㅇ 깃, 젠킨스, 뱀부?, 깃엑션 등을 이용한 CI 구성 

ㅁ 개발 진행 사항 

  - 모달 팝업으로 데이터 추가 기능 추가 

  - 바닥 화면에서 리스트 체크 후 삭제 기능 추가 

     -> SALE_MGMT  DEL_YN 삭제여부 추가 

 

매출/입금 추가 모달

 

 

반응형

'IT > 우원프로젝트' 카테고리의 다른 글

우원 프로젝트 2020-03-29  (0) 2020.03.30
우원프로젝트 2020-03-25  (0) 2020.03.27
우원 프로젝트 2020-03-24  (0) 2020.03.24
우원프로젝트 2020-03-22  (0) 2020.03.22
우원프로젝트 2020-03-20  (0) 2020.03.21
반응형
더보기

ㅁ 우원프로젝트 

  ㅇ 프로젝트 개요 : 아빠가 사용 하는 판매재고 프로그램의 계약 만료로 그와 동일한 기능을 하는 판매재고 웹 사이트를 제작 

 

ㅁ 해야 할 일 

  ㅇ  요구사항 정리 

      - 프로세스 정리 

      - 메뉴 구성 

      - DB 구성 

      - 개발 언어, 기술 정리 (스프링, JSP, VUE 로해보고 싶은데... 부트스트랩, TUI 등 등)

      - 보안 구성 (스프링 시큐리티) 

      - 트랠로를 통한 TODO 리스트 지속 관리 

 

ㅁ 프로젝트 목표 

   ㅇ 4월 10일 내로 사용 가능한 우원 웹 솔루션 제작 

   ㅇ 개발 건에 대해서는 블로그에 기록 남기기 

   ㅇ GCP 서버 운영 하며 리눅스 다루기 

   ㅇ 깃, 젠킨스, 뱀부?, 깃엑션 등을 이용한 CI 구성 

 

ㅁ 개발 진행 사항 

   - GCP 서버를 파악 -> 용량이 꽉차는 문제가 발생

 

   - tui 그리드 삭제 -> 일반 테이블로 변경, 데이터 추가는 팝업 및 추가 html로 변경 

   - DB 구축 -> MBR_MGMT (회원테이블), CMPNY_MGMT(회사테이블), SALE_MGMT(판매테이블) 추가 

   - commonUtil 추가 -> dateFormat 'yyyy-MM-dd' 형식 추가 

 

   - 금일 결과물 

반응형

'IT > 우원프로젝트' 카테고리의 다른 글

우원 프로젝트 2020-03-29  (0) 2020.03.30
우원프로젝트 2020-03-25  (0) 2020.03.27
우원 프로젝트 2020-03-24  (0) 2020.03.24
우원프로젝트 2020-03-23  (0) 2020.03.24
우원프로젝트 2020-03-20  (0) 2020.03.21
반응형

스프링부트 환경에서 리소스(css, js, img 등)을 화면단에서 import 할때 경로 추가 하는 방법


spring 에서는 xml에서 따로 리소스 경로를 입력 해줘야 됐었지만


springboot 에서는 아마 이러하 작업들을 spring-boot-starter-web 에서 이 모든 작업을 미리 해주기에 우리는 따로 설정 없이 사용 할 수가 있다.

이래서 점점 springboot로 다 넘어가는 추세인것 같다.



아래와 같은 폴더 구조일때 정적 자료들은 resources/static/**  모두 넣으면 된다. 

보편적으로 css, js, img 의 폴더 구조를 만들고 사용 하고 있다.





화면단에서는 아래와 같이 사용 할 수 있다. 이미 static 아래로 리소스 경로가 잡혀있기에 그 아래 css, js, img 의 상대 경로를 추가 하면 사용 가능하다.

th: prefix가 들어간 구문은 타임리프에서 사용하는 구문

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<title>Title</title>
<link rel="stylesheet" type="text/css" th:href="@{/css/style.css}">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>


반응형
반응형

1. 인텔리J 설정

  - Settings -> Build, Execution, Deployment -> Compiler 클릭

   - 상세 화면 내 Build project automatically 체크  확인




  - Registry 값 변경 (Search Everywhere로 'Registry' 검색, 혹은 Ctrl+Alt+Shift+/ )

 compiler.automake.allow.when.app.running 레지스트리 값을 체크 V




2. Spring-boot-devtools 의존성 추가

- Maven

   pom.xml 파일 내 추가

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>

- Gradle 

   build.gradle 파일 내 추가

compile('org.springframework.boot:spring-boot-devtools')



3. 프로퍼티 설정 값 추가 (application.properties or application.yml) 

spring.devtools.livereload.enabled=true
spring.devtools.restart.enabled=true
spring.thymeleaf.cache=false




참고 : http://lhb0517.tistory.com/entry/SpringIntelliJ-SpringBoot-HotSwap-with-IntelliJ

반응형

+ Recent posts