티스토리 뷰
스프링부트 2.3.3 JKD 8 버전입니다.
다음은 인텔리제이(Intellij ) 커뮤니티버전에서 작업한 내용입니다.
다음 사이트로 이동합니다.
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 를 하겠습니다.
더블클릭 합니다.
이면 적색사각형이 현재 서버가 돌고 있다는 뜻이므로 클릭해서 종료시켜 줘야 합니다.
그리고 다음 동작으로 넘어가세요.
'7. 클라우드(2)' 카테고리의 다른 글
AWS EC2에 Nginx 로 jar 실행하기 (0) | 2020.09.03 |
---|---|
AWS EC2에 Jar File 업로드 (0) | 2020.09.02 |
AWS 과금이 발생 주의점과 안전 탈퇴 처리 (0) | 2020.08.28 |
아마존/--/타쉬켄트/ AWS ec2 배포용 ShellScript 전문 (0) | 2020.08.27 |
AWS ec2 Elastic BeansTalk 방식 처리 (0) | 2020.08.27 |
- Total
- Today
- Yesterday
- vscode
- mariadb
- KAFKA
- ERD
- FLASK
- JUnit
- docker
- Eclipse
- tensorflow
- database
- JPA
- intellij
- Django
- SpringBoot
- Git
- React
- COLAB
- jQuery
- Java
- Mongo
- maven
- Oracle
- Algorithm
- springMVC
- Python
- AWS
- terms
- nodejs
- SQLAlchemy
- Mlearn
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |