자바/spring

spring 설치 및 초기 설정

chantleman 2024. 11. 8. 16:53

 

 

 

 

https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html

 

Downloads for Amazon Corretto 21 - Amazon Corretto 21

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

 

 

 

https://github.com/spring-projects/sts4/wiki/Previous-Versions

 

Previous Versions

The next generation of tooling for Spring Boot, including support for Cloud Foundry manifest files, Concourse CI pipeline definitions, BOSH deployment manifests, and more... - Available for Eclipse...

github.com

 

 

 

 

https://projectlombok.org/download

 

Download

 

projectlombok.org

 

 

 


 

 

폴더(springTest) 하나 맹글고

 

 

 

 

다운받은 jd, sts폴더, lombok 파일을 폴더에 넣고,

workspace 폴더 하나 만듭니당

 

요롷게!!

 

 

 

 

 

jdk21 폴더에 bin폴더까지 경로 복사 후

 

 

 

 

sts4.26 폴더에 SpringToolSuite4.ini 파일에 

- vm 아래 한 줄 지우고

경로 붙여넣기 한 후에   \javaw.exe 추가 입력

 

 

 

 

 

 

 

cmd에서 cd로 lombok 파일 넣은 폴더(springTest)로 경로 이동후

 

아래 코드 실행

 

java -jar lombok.jar

 

 

 

 

스프링 파일 있는 경로로 location 잡고 설치 !!

 

 

 

 

 

 

 

SpringToolSuite4.exe 스프링 실행

 

경로는 아까 만들었던  workspace 경로로 설정!

 

 

 

 

 

 


프로젝트 생성

 

 

 

 

new - spring starter project

 

 

 

maven, 21, jar (main 메소드 때문에), java

 

 

group : 회사 도메인명(뒤집어서)

artifact : 프로젝트명

 

 

 

 

 

Actuator, lombok, web, DevTools (소스 고치면 톰캣 알아서 start 시켜줌)

추가

 

 

 

 


서버 설정

 

 

application.properties에서 서버 설정

spring.application.name = 프로젝트명
server.port = 포트번호

 

 

 

프로젝트 우클릭 - run as - spring boot app

 

서버 실행된 것 확인

 

 

 


로깅 레벨 설정

 

 

application.properties에서 로깅설정하기

#logging.level.패키지명 
logging.level.com.sumin.just = debug

 

log.debug, log.info, log.warn

log4j 라이브러리가 나옴

 SL4가 나옴

 

 


 

static 폴더에 html 파일 생성 

 

 

 

static 폴더 우클릭 new 하면 html 안나옴 이슈 발생!!

 

 

 

help - eclipse marketplace 에서

 

jsp 검색하면 eclipse enterprise java and web developer tools 설치!!

 

 

confirm하고 accept후 finish

 

 

select All 하고 restart!!

 

 

그럼 이제 html 파일 만들 수 있읍니당

 

 

 


 

인코딩 설정

 

 

window - prefreneces - enc 검색

 

하단에 기본 인코딩을 UTF-8로 설정하고 update 

 

 


기본 웹브라우저 설정

 

 

 

 

 


실행

 

하단 local에 프로젝트 클릭하고 start 누르면 서버 실행

브라우저 아이콘 누르면 브라우저 열림 !

 

 

 

실행 결과

 

 

 


 

DB연동

 

 

원래는 자바 소스 안에 sql 문이 있었는데

그 둘을 분리시켜주는 것이 mybatis !!

 

mybatis는 interface와 sql을 합쳐서 class로 만들어준당

 

 

help - marketplace - mybatipse 검색 후 설치 & restart

 

 

 

 

 

oracle

sys 계정으로 접속 후 아래 세 줄 실행

CREATE USER 계정 IDENTIFIED BY 비밀번호;
GRANT CONNECT, RESOURCE, DBA TO 계정; -- role : connect, resource, dba는 오라클에서 기본적으로 제공해주는 권한의 묶음
COMMIT;

 

 

+ 클릭 후

 

 

 

 

위에서 설정한 이름, 비밀번호

포트, 서비스 이름 설정 후

테스트 눌러서 성공됐는지 확인

 

 

 

 

 

 

스프링으로 돌아와서 

프로젝트 우클릭 - spring - add starters 

 

 

 

 

mybatis framework, oracle driver, jdbc api 체킁

 

next

 

 

 

 

pom.xml 체킁 (pom.xml에 추가한다는 뜻)

 

 

 

 

application.properties에 아래 코드 추가

포트번호랑 id 오라클 계정에 맞게 설정해주장

#DB 연결 설정
spring.datasource.url=jdbc:oracle:thin:@localhost:8521/FREEPDB1
spring.datasource.username=오라클계정이름
spring.datasource.password=오라클비밀번호


#Mybatis 설정(아래 두개는 필수 설정)
#카멜 표기법으로 변경
mybatis.configuration.map-underscore-to-camel-case=true
#null을 어떻게 표기해줄건지 보통 varchar나 null로 설정
mybatis.configuration.jdbc-type-for-null=varchar

#패키지명으로 설정(나중에 vo 호출할때 클래스명만 적을 수 있게 하는거임)
mybatis.type-aliases-package=com.sumin.just.vo
mybatis.mapper-locations=classpath:mybatis/mapper/*-Mapper.xml

# 아래도 파일업로드 용량설정이당 그냥 참고하장
# default 128K
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=12MB
spring.servlet.multipart.file-size-threshold=12MB

 

저장하고 서버 실행되는지 확인!

 

 

 

 

 

프로젝트 우클릭 build path - configure build path - source에 있는 경로들이 다 classpath!

/java는 자바클래스,

/resources는 그 외의 것들을 모아둔 것

 

 

mapper는 자바가 아니니까 resources에 mybatis - mapper 폴더 만들기

 

 

요로코롬!

 


 

 vo 만들기

 

/
create or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2)
RETURN VARCHAR2
IS
RSLT VARCHAR2(30);
BEGIN
--카멜표기로 변환(SITE_NUM -> siteNum)
SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1))
|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLT
FROM DUAL;
--리턴
RETURN RSLT;
END;
/

-- 코드조각
SELECT COLUMN_NAME
, DATA_TYPE
, CASE WHEN DATA_TYPE='NUMBER' THEN 'private int ' || FN_GETCAMEL(COLUMN_NAME) || ';'
WHEN DATA_TYPE IN('VARCHAR2','CHAR') THEN 'private String ' || FN_GETCAMEL(COLUMN_NAME) || ';'
WHEN DATA_TYPE='DATE' THEN 'private Date ' || FN_GETCAMEL(COLUMN_NAME) || ';'
ELSE 'private String ' || FN_GETCAMEL(COLUMN_NAME) || ';'
END AS CAMEL_CASE
, '<result property="'||FN_GETCAMEL(COLUMN_NAME)||'" column="'||COLUMN_NAME||'"/>' RESULTMAP
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = '테이블명(대문자로)'
AND    OWNER = '계정이름(대문자로)';
/

 

 

 

오라클에서 위 코드 실행후

출력된 결과 복사해서 vo 파일에 붙여넣고

@Getter, @Setter, @ToString import 하깅 (@Data 하나만 import 해도 됨)

 

 

 

옆에 outline에서 getter, setter 생성된 것 확인

 

 

 

 


 

mybatis xml mapper 파일 생성

아까 application.properties에서 매퍼 설정할 때

*-Mapper.xml로 했으니까 그 형식에 맞게 이름을 설정해준당

 

 

 

 

 

 

 

Mapper 안에 있는 파일 안에 있는 파일 우클릭 후 copy qualified name 클릭후

 

 

 

 

 

아까 만든 mybatis xml mapper 파일의 namespace 경로에 붙여넣기 하면 된당

 

 

728x90