2017-11-08 1 views
0

스프링 부트 CRUD 응용 프로그램을 만들고 다른 컴퓨터에서 실행하고 싶습니다. 나는 Spring Boot + JPA-Hibernate + MySQL을 사용한다.다른 컴퓨터에서 스프링 부팅 응용 프로그램을 실행하는 중

MySQL이 단순한 파일이라는 것을 알고 있습니다. 그리고 DataSource는 서버를 의미합니다. 내 경우 localhost 3306에 db가있는 곳입니다. 그렇습니까?

내 컴퓨터에서 데이터 소스가 실행 중일 때 MySQL 데이터베이스에 액세스 할 수 있습니다. 그러나 네트워크에없는 다른 컴퓨터에 응용 프로그램을 가져 가면 로컬 호스트 인 데이터 소스를 만들어야하며 거기에 내 mysql 파일을 저장해야합니다. 권리?

제 질문은 사용자가 데이터베이스 서버를 시작할 때마다 CRUD 앱이 작동해야 할 필요가 없는지 여부입니다. 독립 실행 형 응용 프로그램 btw를 만들려고합니다.

서버가없는 DB 인 SQLite를 사용하는 것처럼 SQL Server의 spring 부팅 응용 프로그램에서 sql 파일을 사용하여 서버를 시작할 수 있습니까?

+0

귀하의 질문은 명확하지 않다 귀하의 응용 프로그램이 어떻게 구성되어 있는지 (자세한 내용). 응용 프로그램이 기존 데이터베이스에 연결할 수 있는지 여부를 묻는가, 아니면 스프링 부트를 시작하여 사용중인 데이터베이스 서버에 새 데이터베이스를 자동으로 배포하고 만드는 방법을 묻는 중입니까? – Pytry

+0

여기에 MySQL 인 데이터 소스 초기화에 대해 묻습니다. 새 PC에있는 sql 파일을 복사하고 응용 프로그램 Jar를 실행하면 작동합니까? –

+0

DataSource는 데이터베이스 연결을 허용하는 Java 객체입니다. 데이터베이스는 동일한 시스템 또는 네트워크의 다른 위치에있을 수 있습니다. 데이터 소스를 구성 할 때 URL을 지정하여 위치를 정의합니다. MySQL은 데이터베이스입니다. 그것은 DataSource가 아닙니다. SQL 파일은 단지 파일입니다. 그들은 DataSource가 아니며 데이터베이스도 아닙니다. 단지 실행을 위해 데이터베이스로 보낼 수있는 SQL 명령어 만 포함합니다. 자, 뭐라 구요? 정확한 용어로 Pytry의 질문에 대답하십시오. –

답변

0

스프링 부트는 모든 것에 기본값을 제공하며 데이터베이스의 기본값은 H2이므로이 값을 변경하고 다른 데이터베이스를 사용하려면 application.properties 파일에서 연결 속성을 정의해야합니다.

은 소스 폴더에서, 당신은

spring.jpa.hibernate.ddl-auto=create 
spring.datasource.url=jdbc:mysql://localhost:3306/db_example 
spring.datasource.username=springuser 
spring.datasource.password=ThePassword 

  • spring.jpa.hibernate.ddl 오토 할 수있는 application.properties/리소스 파일 SRC ​​/ 메인/리소스를 생성 갱신, 생성, 생성 - 삭제, Hibernate 문서를 참조하십시오.

  • 없음 이것은 MySQL의 기본값이며 데이터베이스 구조는 변경되지 않습니다. 업데이트 Hibernate는 주어진 Entity 구조에 따라 데이터베이스를 변경한다.

  • create 매번 데이터베이스를 생성하지만 닫을 때 데이터베이스를 삭제하지 않습니다.
  • create-drop 데이터베이스를 작성한 다음 SessionFactory가 닫힐 때 데이터베이스를 삭제합니다.

시작은 아직 데이터베이스 구조가 없기 때문에 create로 시작합니다. 처음 실행 한 후에는 프로그램 요구 사항에 따라 업데이트하거나 없음으로 전환 할 수 있습니다. 데이터베이스 구조를 일부 변경하려면 업데이트를 사용하십시오.

H2 및 기타 임베디드 데이터베이스의 기본은 만들 드롭하지만, MySQL은 같은 다른 사람을 위해 아무도

없습니다입니다 그것은 데이터베이스를 프로덕션 상태에 후,이 아무도하지 않습니다 모든 권한을 취소하는 것이 좋은 보안 방법입니다 Spring 애플리케이션에 연결된 MySQL 사용자로부터 SELECT, UPDATE, INSERT, DELETE 만 제공한다.

응용 프로그램을 실행 가능하게 만듭니다.

이 서비스를 외부 응용 프로그램 서버에 배포하기위한 기존 WAR 파일로 패키지화 할 수는 있지만 다음과 같은 간단한 접근 방법은 독립 실행 형 응용 프로그램을 만듭니다. 좋은 오래된 Java main() 메소드로 구동되는 실행 가능한 단일 JAR 파일로 모든 것을 패키지화합니다.그동안 외부 인스턴스에 배포하는 대신 Tomcat 서블릿 컨테이너를 HTTP 런타임으로 포함시키기위한 Spring의 지원을 사용합니다.

SRC/메인/자바/인사/Application.java

package hello; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class Application { 

    public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
    } 
} 

가이드 : 당신은 무엇을 당신의 목표를 명확히해야합니다 있도록 https://spring.io/guides/gs/accessing-data-mysql

+0

답장을 보내 주셔서 감사합니다. 나는 의심한다. 이 실행 파일을 다른 컴퓨터에서 어떻게 실행 하시겠습니까? PC처럼. 데이터베이스 서버가 없습니다. –

+0

스프링 부트를 사용하면 내장 데이터베이스가있는 독립 실행 형 응용 프로그램을 만들 수 있습니다. 마지막에는 필요한 모든 의존성, 클래스 및 리소스를 포함하는 실행 가능한 jar 파일을 빌드하고 실행합니다. 따라서 개발 수명주기, 다양한 환경에 걸쳐 응용 프로그램으로 서비스를 쉽게 배포, 버전 및 배포 할 수 있습니다. –

+0

단순히 생성되는 h2 데이터베이스로 실행 파일을 만들고 있습니까? 당신의 대답은 유망한 것으로 들립니다. –

관련 문제