티스토리 뷰

스프링부트 2.3.3 JKD 8 버전입니다.

다음은 인텔리제이(Intellij ) 커뮤니티버전에서 작업한 내용입니다.

 

다음 사이트로 이동합니다.

https://start.spring.io/

 

 

 

GENERATE 를 클릭해서 파일을 다운 받습니다. 

 

인텔리제이 ( 이하 IJ ) 를 열어서 File > Open 후  demo 선택

 

 

DI 를 합니다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
plugins {
    id 'org.springframework.boot' version '2.1.4.RELEASE'
    id 'java'
    id "org.sonarqube" version "2.7"
}
 
apply plugin: 'io.spring.dependency-management'
 
group = 'com.hanoi'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '8'
 
configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}
 
repositories {
    mavenCentral()
}
 
dependencies {
    compile group: 'com.h2database', name: 'h2', version: '1.4.200'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    //implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    implementation 'org.springframework.boot:spring-boot-starter-data-redis'
    implementation 'it.ozimov:embedded-redis:0.7.2'
    implementation 'io.jsonwebtoken:jjwt:0.9.1'
    implementation 'io.springfox:springfox-swagger2:2.6.1'
    implementation 'io.springfox:springfox-swagger-ui:2.6.1'
    implementation 'net.rakugakibox.util:yaml-resource-bundle:1.1'
    implementation 'com.google.code.gson:gson'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.h2database:h2'
    runtimeOnly 'mysql:mysql-connector-java'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.security:spring-security-test'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    // jUnit
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage'module'junit-vintage-engine'
    }
    testImplementation("org.junit.jupiter:junit-jupiter-api")
    testImplementation("org.junit.jupiter:junit-jupiter-params")
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
    testCompileOnly('junit:junit')
    testRuntimeOnly('org.junit.vintage:junit-vintage-engine') {
        because 'JUni 3 와 JUnit 4 테스트 실행을 위해 필요핟.'
    }
 
 
}
cs

yml 코딩을 합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
spring:
  datasource:
    url: jdbc:h2:mem:testdb;
    driverClassName: org.h2.Driver
    username: sa
    password:
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      ddl-auto: create
 
 
cs

프로젝트를 구성합니다. 해당 소스는 oksubin 에서 가져왔습니다.

보인 소스코드로 작업하세요.

코딩하면 아래와 같은 에러가 발생합니다.

 

다음과 같이 처리합니다.

File > Settings > Editor > Inspections 

 

 이와 같이 해서 에러 발생을 막습니다.

 

 

 

실행합니다. API 로 만들 것입니다. 정상입니다.

Connect 를 클릭해서 H2 DB 로 접속합니다.

 

진입하면 다음 화면이 보입니다.

1번은 엔티티에서 설정한 테이블이 생성된 것입니다.

2번을 클릭하면 콘솔창에 3번 쿼리가 생성됩니다.

4번버튼을 클릭해서 실행하는 프로세스로 구성됩니다.

하지만 우리는 TEST 테이블을 생성하지 않고, 예제에 맞게 수정하겠습니다.

 

1
2
DROP TABLE IF EXISTS TEST;
CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255));
cs

부분은 JPA 에서 자동생성되었으므로 삭제하고 나머지 부분도 다음처럼 쿼리문을 작성합니다.

 

1
2
3
4
5
6
7
INSERT INTO MEMBER(USER_ID , USER_NAME, USER_PW ,JOB ) VALUES('hello','hello','1','admin');
INSERT INTO MEMBER(USER_ID , USER_NAME, USER_PW ,JOB ) VALUES('world','world','1','user');
INSERT INTO MEMBER(USER_ID , USER_NAME, USER_PW ,JOB ) VALUES('bye','goodbye','1','user');
INSERT INTO MEMBER(USER_ID , USER_NAME, USER_PW ,JOB ) VALUES('see','see','1','user');
SELECT * FROM MEMBER ORDER BY USER_NO;
UPDATE MEMBER SET USER_NAME='bye' WHERE USER_ID='bye';
DELETE FROM MEMBER WHERE USER_ID='see';
cs

 

4번 클릭으로 실행합니다.

 

MEMBER 테이블에 다음과 같은 데이터가 생성되었습니다.

USER_NO 컬럼에 번호가 처음 만들때와 다릅니다. 자동 생성되는 시퀀스라서 테스트쿼리가 몇번 수행되어서 13 ~ 16으로 나타납니다.

 

이제 API 서버 가 잘 작동하는지 테스트 하겠습니다.

먼저 JSON Viewer Awesome 을 설치합니다.

데이터가 간단하면 굳이 설치하지 않아도 되지만 지속적인 테스트를 위해 설치하겠습니다.

 

 

가장 간단한 회원수를 보겠습니다.

다음 코드때문에 작동하는 것이므로 만약 작동하지 않으면 본인의 코드를 체크하세요.

그리고 본인의 URL 을 붙이세요.

 

jar  파일로 build 를 하겠습니다. 

 

 

더블클릭 합니다.

 

 

 

 

 

이면 적색사각형이 현재 서버가 돌고 있다는 뜻이므로 클릭해서 종료시켜 줘야 합니다.

 

그리고 다음 동작으로 넘어가세요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함