본문 바로가기

반응형

⭐ SpringBoot

(68)
Springboot와 Mybatis, Postgresql 연동하기 # Springboot와 Mybatis, Postgresql 연동
Framework 프레임워크의 개념 # 프레임 워크의 개념 프레임 워크는 사전적 의미를 보면 아래와 같다. Framework. 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다. 프레임워크는 간단하게 말해서 어떤 구조를 만들어 놓고 해당 구조를 기반으로 수행하는 방식이다. 대표적으로 SpringFramework가 있고, React 프레임워크가 있다. 프레임워크에서 가장 중요한 것은 바로 구조를 알고 구조 기반의 WorkFlow 즉 흐름을 아는것이다. 흐름만 이해하면 대략적인 구조가 파악이 되며, 파악된 구조를 기반으로 코드나 프로세스를 이해하가면 된다. - 아래는 SpringFW의 Flow 이다. - 아래는 ReactFW의 Flow 이다.
Springboot 실행하기, 스프링부트 애플리케이션 설정 및 실행하기 환경변수 정의 Springboot에서 새로운 애플리캐이션을 실행하는 방법 정리, 스프링 환경변수 다른사람의 코드나 새로운 코드를 받아서 스프링부터에서 실행할때의 방법에 대해서 알아본다. 인텔리J에서 아래와 같이 새로운 신규 애플리케이션을 실행할 경우 우측 상단에 "구성편집" 에서 아래의 캡쳐 그림과 같이 실행을 해주면 된다. + 버튼을 눌러서 새로운 애플리케이션을 생성해 줘도 되고 기존의 설정된 옵션을 변경해도 된다. 그리고 위의 켭쳐화면의 하단에 "환경변수" 를 입력하는 칸이 존재하는데, 여기에는 현재의 실행환경에 대해서 입력을 해주면 된다. 예를들어 로컬환경과 운영환경이 구분되어 있는경우 로컬 환경의 실행 명령어는 아래와 같다. --spring.profiles.active=local 그리고 위의 프로파일의 설정은 ..
Springboot에서 DB를 변경하기 (H2 DB application.properties 수정 및 Dependency 추가) # Springboot에서 기존에 사용하던 MySQL DB를 H2 DB로 변경한다. 1. application.properties 파일에 존재하는 MySQL 설정을 주석처리 한다. - 주석처리 ##### DB Connection Information Mysql ##### #spring.datasource.url=jdbc:mysql://localhost:3306/board-back?useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull #spring.datasource.username=root #spring.datasource.password=1234 #spring.jpa.properties.hibernate.dialect = org.hibe..
SpringBoot 구조 정리 # SpringBoot의 흐름 - 스프링은 Domain → Repository → Service → DTO → Controller구조로 되어 있으며 코드를 작성하는 순서도 이와 같다. - Domain에서 DB와 관련된 클래스를 작성하고 Repository로 Doamin에 작성된 필드 접근을 위한 CRUD를 생성하고 DTO로 어떤 테이블에 어떤 필드로 접근할지 정의한다. - Service에서 외부에서 해당 기능을 사용할 수 있도록 메소드를 정의하고 외부에서 요청이 오면 Controller를 통해서 Service로 DB에 접근하여 요청을 처리하게 된다. # SpringBoot 구조정리 - 스프링 부트가 어떤 데이터 흐름을 가지고 데이터가 전달되는 순서와 각각의 패키지들이 어떤 역할을 하는지 정의 # 코드 작..
BackEnd 백엔드 개발이란? # 백엔드 개발이란 무엇일까? - 구글 검색 후 나무위키 에서 퍼온글을 확인해보자. 백엔드 개발자는 프로그래밍, 데이터베이스, 웹 서버, 네트워크, 인프라 등에 대한 기술이 필요하다. 백엔드 개발은 API 개발이 주가 된다. 프론트에서 요구하는 데이터의 포맷이나 데이터베이스 입출력 및 다양한 비즈니스 프로세스를 코드로 구현하고, 이를 위한 DB를 설계하고 백엔드 프레임워크를 이용하여 앱을 구현하는 것이 주요 업무다. 여기에 백엔드 프레임워크와 프론트엔드 서버를 이어주는 서블릿, WSGI 등의 미들웨어 기술도 필요하다. API 명세를 설계하고 실제 배포 단계에서 최대한 문제가 발생하지 않도록 체계적으로 구성하는 능력도 필요하다. 핵심은 DB에 담겨진 정보를 프론트엔드에서 활용할 수 있도록 여러 API들을 ..
[SELECT] Back-end 데이터를 Front-end에서 가져오는 방법 # 아래와 같은 게시판 사이트에 Comment를 입력하고 불러오는 프로세스 # 주의할 개념: Controller 모델에 등록된 값은 Front-end에서 언제든지 불러올 수 있다. 아래의 프로세스를 보면서 프론트엔드에서 백엔드 데이터를 어떤식으로 받아 오는지 확인 할 수 있다. 프론트엔드에서 백엔드 데이터를 가져오는 프로세스를 살펴보면 controller는 Model에 데이터를 담아 둔다. 프론트 엔드에서는 api 구분없이 모델에 정의된 name만을 기준으로 데이터를 가져온다. # 아래의 코드를 예로들어 살펴보면 commentDtos는 api controller에 등록된 모델 객체중 하나이다. 아래의 접근글을 참조하면 commentDtos를 정의한 api를 확인 할 수 있다. 더보기 @GetMapping..
[DELETE] 특정 폼의 데이터를 삭제하는 프로세스 # 아래와 같이 특정 폼의 데이터를 삭제하는 프로세스에 대해서 정리한다. # 추가로 메인 리스트 화면에서 세부 페이지로 어떻게 이동하는지 보면 아래와 같다. index.mustache 파일은 아래의 왼쪽 화면과 같이 페이지의 리스트를 보여주고 있으며, 해당 리스트의 세부 페이지로 이동하기 위해서는 오른쪽에 java 코드를 보면 알수 있다. href="/articles/{{id}}">{{title}} 로 이동한다. 그리고 href="/articles/{{id}}" 이 바라보는 대상은 Controller이다. 모든 href는 Controller의 API 주소를 바라본다고 볼 수 있다. 해당 컨트롤러를 살펴보면 아래와 같다. 위에서 href로 연결된 맵핑정보가 컨트롤러 객체 /articles/{{id}}를 호..

728x90
반응형