JPA 부분만 아직 공부가 덜되서 그 부분은 나중에 테스트 하는 것으로 합니다.
우선 아래의 순서대로 진행을 합니다.
1. 이클립스 최신버전 다운 받기. 그리고 Java JDK는 1.8 버젼을 설치
Eclipse IDE for Enterprise Java Developers 를 클릭하여 설치를 합니다.
2. Apache Tomcat을 다운받아서 설치합니다.
3. eclipse 에 Spring IDE 플러그인 설치하기위하여 Help메뉴에서 Eclipse Marketplace 를 클릭합니다.
아래 그림에서 Spring Tools를 설치합니다.
설치가 완료되면 Help / About Eclipse IDE에서 다음과 같이 Spring IDE가 설치가 되었는것을 확인할 수 있습니다.
4. 이클릭습에 Tomcat 서버 설정 하기
5. 이제 이클립스를 실행하여 이제 Gradle 프로젝트를 생성합니다.
생성된 프로젝트는 다음과 같습니다.
build.gradle 파일을 아래와 같이 수정합니다.
/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java Library project to get you started.
* For more details take a look at the Java Libraries chapter in the Gradle
* User Manual available at https://docs.gradle.org/5.4/userguide/java_library_plugin.html
*/
plugins {
// Apply the java-library plugin to add support for Java Library
id 'java-library'
id 'org.springframework.boot' version '2.1.6.RELEASE'
id 'io.spring.dependency-management' version "1.0.8.RELEASE"
}
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
// lombok 라이브러리
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
// This dependency is exported to consumers, that is to say found on their compile classpath.
// swagger2 등록
api 'org.apache.commons:commons-math3:3.6.1',
'io.springfox:springfox-swagger2:2.5.0',
'io.springfox:springfox-swagger-ui:2.5.0'
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:27.0.1-jre',
'org.springframework.boot:spring-boot-starter-web'
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
}
build.gradle 파일에서 우클릭하여 Refresh Gradle Project를 합니다.
Refresh Gradle Project를 실행하면 다음과 같이 콘솔에서 BUILD SUCCESSFUL 메시지를 볼 수 있습니다.
이제 Application.java 클래스 파일을 생성합니다.
package SHI.Server.Test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableAutoConfiguration
@EnableSwagger2
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
SwaggerConfig.java 클래스 파일을 생성합니다.
package SHI.Server.Test;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any()) // 현재 RequestMapping으로 할당된 모든 URL 리스트를 추출
.paths(PathSelectors.ant("/api/**")) // 그중 /api/** 인 URL들만 필터링
.build();
}
}
현재 까지 작성된 부분으로 Spring Boot를 실행해 보기
브라우저에서 http://localhost:8080/swagger-ui.html#/ 주소로 스웨거 화면을 확인합니다.
여기까지 되었으면 이제 hello controller 서비스를 작성하여 확인하도록 합니다.
Hello.java 를 생성합니다.
package SHI.Server.Test.edu;
import lombok.Getter;
@Getter
public class Hello {
private final long id;
private final String content;
public Hello(long id, String content) {
this.id = id;
this.content = content;
}
}
HelloController.java 를 생성합니다.
package SHI.Server.Test.edu;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping("/api/hello")
public Hello greeting(@RequestParam(value="name", defaultValue="World") String name) {
return new Hello(counter.incrementAndGet(),
String.format(template, name));
}
}
이제 모든 작업이 끝났습니다. 다시 Boot Dashboard에서 (Re)start를 실행합니다.
간단하게 서비스를 만들었지만 실제 DB연결을 하여 데이터를 가져오는 서비스를 만드는 부분은 아직 공부가 덜되어서 나중에 올리도록 하겠습니다.
'개발일지' 카테고리의 다른 글
Spring Data JPA 설정 중 오류메시지 [ Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.] (0) | 2019.07.31 |
---|---|
create-react-app으로 프로젝트 만들기 (0) | 2019.07.30 |
CodePen으로 ReactJS 공부하기 (0) | 2019.07.30 |
리눅스 나노파이 JDK 설치 및 삭제 (0) | 2019.07.12 |
Linux java -jar 백그라운드 실행(nohup) (0) | 2018.12.26 |