Quickstarters
Feature Overview
How to Build a Backend for Spring Boot?
32 분
소개 이 튜토리얼에서는 back4app을 사용하여 spring boot의 백엔드를 구축하는 방법을 배웁니다 spring framework를 활용한 java 기반 웹 애플리케이션인 spring boot 애플리케이션을 데이터베이스 관리, cloud code, rest 및 graphql api, 사용자 인증, 파일 저장소, 실시간 쿼리와 같은 필수 back4app 기능에 연결하는 방법을 안내합니다 이 단계를 따르면 spring boot의 기능을 back4app에서 제공하는 강력한 parse platform과 원활하게 통합할 수 있습니다 back4app을 백엔드로 활용하면 데이터베이스 연결, 보안 구성 및 배포 프로세스가 크게 간소화됩니다 서버 설정 및 수동 데이터베이스 관리의 복잡성을 피할 수 있으므로 spring boot 애플리케이션의 비즈니스 로직 작성에 집중할 수 있습니다 이 튜토리얼이 끝나면 웹 앱 또는 spring 웹에서 실행되는 java 애플리케이션의 기초가 될 수 있는 견고하고 확장 가능한 백엔드를 갖추게 되며, 프로덕션 준비가 완료된 배포로 쉽게 확장할 수 있습니다 필수 조건 이 가이드를 완료하려면 다음 사항이 준비되어 있어야 합니다 back4app 계정과 새로운 back4app 프로젝트 back4app 시작하기 https //www back4app com/docs/get started/new parse app 계정이 없으면 무료로 가입하세요 java 개발 환경 다음과 같은 소프트웨어를 설치해야 합니다 java se 8 이상 https //www oracle com/java/technologies/downloads/ 및 maven https //maven apache org/ 또는 gradle https //gradle org/ 이는 개발 환경 을 설정하는 데 필수적입니다 spring boot 기초 spring boot 애플리케이션 을 만드는 데 익숙해야 합니다 필요하다면, spring boot 공식 문서 https //spring io/projects/spring boot 를 참조하여 spring security , 컨트롤러, 서비스 등을 배우세요 parse/back4app에 대한 기본 지식 parse 플랫폼이 어떻게 작동하는지 아는 것이 유익합니다 처음이라면 back4app 문서 https //www back4app com/docs 를 검토하세요 이 필수 조건을 준비하면 원활한 튜토리얼 경험을 보장합니다 back4app을 사용하여 백엔드를 구축하는 것을 시작해 봅시다! 1단계 – back4app에서 새 프로젝트 만들기 및 연결하기 이 단계가 필요한 이유 새로운 back4app 프로젝트를 만드는 것은 백엔드의 기초입니다 이 프로젝트는 데이터베이스, 구성 설정, 보안 규칙을 보유하고, parse 플랫폼을 통해 spring boot 애플리케이션 데이터를 관리할 수 있게 해줍니다 back4app 프로젝트 생성하기 back4app 계정에 로그인하세요 “새 앱” 클릭하기 back4app 대시보드에서 프로젝트 이름 제공하기 (예 “springboot backend tutorial”) 및 설정 완료하기 완료되면, back4app 대시보드에서 새 프로젝트가 나열된 것을 볼 수 있습니다 parse java sdk 설치 및 구성 (선택 사항) back4app은 parse 플랫폼을 사용하며, java sdk 를 제공하여 spring boot 앱과 통합할 수 있습니다 원하신다면, java 개발자 코드에서 rest/graphql 호출을 직접 할 수도 있습니다 그러나 sdk를 사용하면 데이터 저장, 쿼리 및 사용자 인증과 같은 작업을 간소화할 수 있습니다 maven 의존성 (예) \<dependency> \<groupid>com parse\</groupid> \<artifactid>parse\</artifactid> \<version>1 26 0\</version> \</dependency> 당신의 spring boot 메인 애플리케이션 클래스 또는 구성 클래스에서 parse를 초기화하세요 @springbootapplication public class springbootbackendtutorialapplication { public static void main(string\[] args) { // initialize parse before running the application parse initialize(new parse configuration builder("your app id") server("https //parseapi back4app com/") clientkey("your client key") build() ); springapplication run(springbootbackendtutorialapplication class, args); } } “your app id” 및 “your client key”를 back4app 대시보드에서 찾은 자격 증명으로 교체하는 것을 잊지 마세요 앱 설정 또는 보안 및 키 에서 확인할 수 있습니다 2단계 – 데이터베이스 설정하기 1\ 데이터 모델 생성하기 당신의 데이터베이스 연결 은 back4app에 의해 처리됩니다 대시보드에서 데이터 모델(클래스)을 생성하거나 parse sdk를 통해 객체를 저장하여 즉석에서 생성할 수 있습니다 더 나은 제어를 위해 back4app 대시보드로 가서 “데이터베이스” 클릭 새 클래스 생성 (예 “todo”) 열 추가 (필드) 예를 들어 title (문자열) 및 iscompleted (부울) 2\ ai 에이전트를 사용하여 데이터 모델 생성하기 back4app은 ai 에이전트 를 제공하여 스키마를 생성할 수 있습니다 대시보드 또는 메뉴에서 ai 에이전트 열기 데이터 모델 설명하기 간단한 언어로 ai 에이전트에게 관련 클래스와 필드 생성을 맡기세요 3\ sdk를 사용한 데이터 읽기 및 쓰기 parse java sdk를 spring framework 프로젝트에 추가했다면, 다음과 같이 클래스와 상호작용할 수 있습니다 @service public class todoservice { public parseobject createtodoitem(string title, boolean iscompleted) throws parseexception { parseobject todo = new parseobject("todo"); todo put("title", title); todo put("iscompleted", iscompleted); return todo save(); // throws parseexception if something goes wrong } public list\<parseobject> fetchtodos() throws parseexception { parsequery\<parseobject> query = parsequery getquery("todo"); return query find(); } } 4\ rest api를 사용한 데이터 읽기 및 쓰기 또는 rest 엔드포인트를 통해 back4app 데이터베이스와 상호작용할 수 있습니다 curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ graphql api를 사용한 데이터 읽기 및 쓰기 back4app에는 graphql 엔드포인트도 있습니다 mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ 실시간 쿼리 작업 (선택 사항) 귀하의 웹 앱 이 실시간 업데이트가 필요하다면, back4app 대시보드에서 실시간 쿼리를 활성화하고 스프링 웹 애플리케이션에 연결할 수 있습니다 일반적으로 java 클라이언트에서 이벤트를 구독하거나 실시간 쿼리를 지원하는 프론트엔드 도구를 사용합니다 3단계 – acl 및 clp로 보안 적용 간략한 개요 back4app의 acls (접근 제어 목록) 및 clps (클래스 수준 권한)은 귀하의 데이터를 보호합니다 이는 스프링 보안 을 보완하거나 보완하여 귀하의 자바 애플리케이션 을 추가로 보호할 수 있습니다 단계별 클래스 수준 권한 (clps) “클래스 수준 권한”의 “데이터베이스” 탭에서 구성합니다 acls 코드 또는 대시보드에서 객체 수준 권한을 설정합니다 자세한 내용은 앱 보안 가이드라인 https //www back4app com/docs/security/parse security 을 참조하십시오 4단계 – 클라우드 코드 함수 작성 클라우드 코드의 장점 클라우드 코드는 민감한 비즈니스 로직 을 서버로 이동하거나 보호할 수 있게 해줍니다 이는 클라이언트 측에 노출되어서는 안 되는 로직이 필요하거나 외부 api를 통합하고자 할 때 특히 유용합니다 예제 함수 parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) throw new error('no text provided'); return { length text length }; }); 배포 코드를 배포하려면 back4app cli https //www back4app com/docs/local development/parse cli 또는 back4app 대시보드를 사용하세요 그런 다음 java sdk, rest 또는 graphql을 통해 spring boot에서 함수를 직접 호출할 수 있습니다 5단계 – 인증 구성 사용자 인증 parse 사용자 클래스는 사용자 가입, 로그인 및 세션 토큰을 처리합니다 이를 스프링 부트 애플리케이션 에 통합하려면 java sdk를 호출하거나 rest 호출을 사용할 수 있습니다 가입하기 (java sdk 예제) public parseuser signupuser(string username, string password, string email) throws parseexception { parseuser user = new parseuser(); user setusername(username); user setpassword(password); user setemail(email); return user signup(); // returns the newly created user } 소셜 로그인 google이나 facebook과 같은 제공자의 경우, parse는 oauth 기반 로그인을 지원합니다 추가 설정 세부정보는 소셜 로그인 문서 https //www back4app com/docs/platform/sign in with apple 를 확인하세요 6단계 – 파일 저장 처리 파일 저장 설정 다음 클래스를 사용하여 파일을 업로드합니다 parsefile 또는, 원하신다면 rest를 사용할 수 있습니다 // example using java sdk parsefile file = new parsefile("myimage png", filebytes); file save(); // uploads to back4app parseobject photo = new parseobject("photo"); photo put("imagefile", file); photo save(); 예시 curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type text/plain" \\ \ data binary '@myimage png' \\ https //parseapi back4app com/files/myimage png 7단계 – 이메일 인증 및 비밀번호 재설정 개요 사용자의 java developer 워크플로우에서 보안 사용자 계정을 보장하기 위해, back4app 대시보드에서 이메일 인증 및 비밀번호 재설정을 활성화하세요 구성 이메일 인증 활성화 앱의 이메일 설정에서 더 나은 사용자 경험을 위한 이메일 템플릿 설정 8단계 – 클라우드 작업으로 작업 예약하기 클라우드 작업의 기능 클라우드 작업 을 통해 주기적인 데이터 정리, 매일 알림 전송 또는 시스템 전체 유지 관리와 같은 작업을 자동화할 수 있습니다 다음은 예시 작업입니다 parse cloud job('cleanupoldtodos', async () => { const query = new parse query('todo'); // example remove todos older than 30 days // // implement the job logic here }); 백4앱 대시보드에서 서버 설정 > 백그라운드 작업 에서 예약하세요 9단계 – 웹훅 통합 정의 및 구성 웹훅 은 당신의 자바 애플리케이션 이 이벤트 기반 http 요청을 보내거나 받을 수 있게 해줍니다 예를 들어, 백4앱 데이터베이스에 객체가 생성될 때마다 외부 서비스에 알릴 수 있습니다 백4앱 대시보드로 가기 > 더보기 > 웹훅 웹훅 추가 대상 엔드포인트와 함께 트리거 설정 이벤트(생성, 업데이트, 삭제) 10단계 – 백4앱 관리 패널 탐색 어디서 찾을 수 있나요? 백4앱 관리 앱 은 비기술 팀원이 데이터를 보고 수정할 수 있는 모델 중심의 사용자 친화적인 인터페이스입니다 앱 대시보드 > 더보기 > 관리 앱 로 가서 활성화하세요 서브도메인을 선택하고 첫 번째 관리자 사용자를 생성하세요 그런 다음 코드를 건드리지 않고 데이터를 관리하기 위해 로그인하세요 결론 back4app과의 spring boot 통합을 완료한 것을 축하합니다! 데이터, 인증, 파일, 실시간 구독 및 예약 작업을 관리하는 spring boot 백엔드를 구축하는 방법을 보았습니다 모든 것이 최소한의 오버헤드로 이루어졌습니다 이 강력하고 확장 가능한 접근 방식은 저수준 서버나 데이터베이스 세부 사항에 대해 걱정하기보다는 비즈니스 로직 작성에 집중할 수 있게 해줍니다 당신은 back4app 프로젝트를 생성하고 이를 스프링 프레임워크에 연결했습니다 클래스와 데이터 모델을 사용하여 데이터베이스 연결을 관리하는 방법을 배웠습니다 acl, clp, 클라우드 코드 함수 및 클라우드 작업을 통한 스케줄링을 구현했습니다 파일 저장소, 사용자 인증 및 웹훅과 같은 고급 기능을 구성했습니다 이러한 기본 사항을 바탕으로, 귀하의 스프링 부트 애플리케이션은 완전한 스프링 보안 또는 더 복잡한 데이터 관계를 갖춘 프로덕션 준비 시스템으로 성장할 준비가 되어 있습니다 back4app의 다른 기능과 현대 웹 앱 개발을 가속화하는 스프링 부트의 기능을 탐색해 보시기 바랍니다 다음 단계 프로덕션을 위한 확장 성능 최적화, 캐싱 추가 및 clp에서 고급 역할 구성 더 많은 통합 추가 클라우드 코드 또는 웹훅을 통해 외부 서비스(결제 게이트웨이, 분석 등)에 연결 공식 문서 참조 back4app의 문서 https //www back4app com/docs 및 고급 파스 기술에 대한 이해를 심화하세요 튜토리얼 탐색 실시간 채팅, 푸시 알림 또는 위치 기반 서비스에 대한 전문 튜토리얼을 찾아보세요 이를 스프링 부트 설정과 결합하여 최첨단 웹 애플리케이션 을 구축하세요 스프링 부트와 back4app 간의 시너지를 활용하여, 코드베이스를 깔끔하게 유지하고 배포 프로세스를 간단하게 하면서 자바 애플리케이션을 신속하게 개발, 유지 관리 및 확장할 수 있습니다