상세 컨텐츠

본문 제목

스프링 부트로 시작하는 웹 서비스_1시작

JSP·자바·코틀린

by 김일국 2021. 7. 30. 13:32

본문

### 작업한 소스 깃 : https://github.com/miniplugin/kimilguk-springboot2

### 작업결과 배포 클라우드헤로쿠 : https://kimilguk-springboot2.herokuapp.com/

### 책 [스프링 부트와 aws로 혼자 구현하는 웹 서비스] 소스를 분석해 하고 있습니다.

2022년(2021년12월 4.0베타개발환경) 전자정부표준프레임워크에서 스프링 Start Project 로 사용해 본 결과 인텔리J 보다 사용하기 편했습니다.(아래 스프링부트 jar로 빌드하면 톰캣과 같은 WAS도 필요 없다)

- 스프링부트 2.6.3, 그래들 7.3.3

- 외부모듈 추가에서 Spring Session 추가시 자동 추가되는 아래 core -> jdbc로  변경한다.

- 변경전: implementation 'org.springframework.session:spring-session-core'

- 변경후: implementation 'org.springframework.session:spring-session-jdbc'

- 전자정부개발환경이 편했던 점은: JDK를 별도로 설치할 필요가 없었다. 내장된 JRE 환경확인(아래)

- 단, 이클립스(위 전자정부개발환경4.0)에서는 롬복 라이브러리가 에러가 나기때문에, 롬복과 이클립스를 연결시켜 줘야 한다.(아래)

- 위 처럼 작업 후 반드시 이클립스 리스타트 후 Project 메뉴에서 Clean 메뉴로 재 컴파일 시킨다.

- 위처럼 하지 않으면, 아래 롬복기능 중 RequiredArgsConstructor 로 final 변수를 자동으로 객체를 만들때, 에러가 난다.

@RequiredArgsConstructor
@Component
public class LoginUserArgumentResolver implements HandlerMethodArgumentResolver {
    private final Logger logger = LoggerFactory.getLogger(getClass());
    private final HttpSession httpSession;

- 이클립스에서 그래들로 jar 실행파일 만들기(아래-Gradle Tasks 창에서 build 후 bootJar 더블클릭하면 진행된다.)

------------------------------------------- 여기까지 신규 포스팅 자료 ------------------------------------------

------------------------------------------- 이후는 이전 포스팅 자료 ------------------------------------------

2년 전에 스프링부트 포스트를 한 적이 있습니다.

오래간만에 한번 더 정리 하려고 합니다. 그동안 전자정부표준프레임워크 개발도구만(이클립스+메이븐빌드) 사용하다가

간만에 인텔리J+그래들빌드로 작업 합니다.

단, 인텔리J 커뮤니티버전은 스프링을 지원하지 않습니다.(spring.io 의 initialize 를 사용)

https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

 

Ultimate vs. Community - Compare Editions | IntelliJ IDEA

The most intelligent Java IDE with refactoring support.

www.jetbrains.com

스프링부트에서는 Mybatis대신에 하이버네이트(ORM인 JPA)를 사용합니다.

"dialect"는 방언이라는 뜻이다. 데이터베이스 고유한 기능을 사용하겠다는 의미가 있음.

JPA 엔티티 사용 기술참조: https://private-space.tistory.com/84

- JPA는 특정 데이터베이스에 종속적이지 않은 기술
- 각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다르다. 
- 가변문자 : MySQL은 VARCHAR, Oracle은 VARCHAR2
- 문자열을 자르는 함수 : SQL 표준은 SUBSTRING(), Oracle은 SUBSTR()
- 페이징 : MySQL은 LIMIT, Oracle은 ROWNUM
- 방언 : SQL 표준을 지키지 않거나 특정 데이터베이스만의 고유한 기능
- 기술참조: https://nanci.tistory.com/87

 

커뮤니티 무료버전 다운로드위치 . (아래)

https://www.jetbrains.com/ko-kr/idea/download/#section=windows

 

다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE

 

www.jetbrains.com

위에서 커뮤니티버전(무료) 중 zip 버전을 받고 C드라이브에 압축을 풀고, 폴더명을 IntelliJ로 변경후 bin폴더에서 idea64.exe 를 실행하시면 아래처럼 진입화면이 나옵니다.

- 작업 시작

1. 네이버API로그인 전 화면(아래)

1. 네이버API로그인 후 화면.(아래)

-네이버아이디 로그인 설정

Ps. 기술깃참조: https://github.com/kwj1270/TIL_SPRINGBOOT_WITH_AWS

 

GitHub - kwj1270/TIL_SPRINGBOOT_WITH_AWS: 이동욱, 스프링 부트와 AWS로 혼자 구현하는 웹 서비스

이동욱, 스프링 부트와 AWS로 혼자 구현하는 웹 서비스. Contribute to kwj1270/TIL_SPRINGBOOT_WITH_AWS development by creating an account on GitHub.

github.com

Ps. 소스깃참조: https://github.com/kwj1270/freelec-springboot2-webservice

 

GitHub - kwj1270/freelec-springboot2-webservice: 이동욱님의 springboot2 with AWS

이동욱님의 springboot2 with AWS. Contribute to kwj1270/freelec-springboot2-webservice development by creating an account on GitHub.

github.com

 

관련글 더보기

댓글 영역