스프링 빈이란?Spring에서는 Spring Container 를 통해서 객체를 관리한다.여기서 Spring Container가 관리하는 객체를 스프링 빈(Spring Bean)이라고 부른다.스프링 빈은 대개 싱글톤(Singleton) 방식으로 사용된다.🎈 싱글톤(Singleton)객체를 단 1개만 만드는 방식의 디자인 패턴개발자가 Java코드로 만든 객체들을, Spring Container에서 관리하기 위한 Spring Bean 객체라는 것을 사전에 알려줘야한다.Spring Boot에서 클래스를 스프링 빈 객체로 등록하는 방식은 두가지가 있다.@Component 어노테이션 사용@Bean 어노테이션 사용@Component 어노테이션을 사용하여 설정하기@Component 어노테이션을 사용하는 방식은 매우..
전체 글
안녕하세요. 고민하는 개발자가 되고 싶은 Hayden 입니다. 초보 개발자의 공부 과정을 기록하는 블로그입니다. 현재 Spring boot에 관심을 가지고 공부하고 있습니다.이번에는 스프링 부트에서 웹 개발을 할 때 가장 먼저 마딱트리는 웹 개발 방식들에 대하여 공부했다.스프링 부트에서 웹 개발을 할 때, 아래와 같은 세가지 방식을 주로 사용한다고 한다.✨ 정적 컨텐츠를 활용한 웹 개발✨ MVC와 템플릿 엔진을 활용한 웹 개발(템플릿 엔진: 미리 정의된 템플릿과 데이터를 엮어서, 최종적으로 보여질 화면을 만들어주는 엔진)✨ API 방식을 사용한 웹 개발그럼 아래에서 하나씩 살펴보겠다.1. 정적 컨텐츠클라이언트에게 페이지를 넘길 때, 별도의 변환 과정을 거치지 않고, 미리 저장된 문서 그대로 제공하는 방식을 의미한다.이전 포스트에서 View를 띄워 보는 과정에서, 정적 컨텐츠를 활용한 페이지 구성을 이미 한번 다루어 보았다.먼저 프로젝트의 static 폴더에 아래의 html ..
이번에는 Spring Boot 프로젝트를 jar 파일로 빌드하는 방법을 정리해보고자 한다.지금까지 서버를 실행시킬 때는 IntelliJ를 사용하여서 빌드 및 실행하였다.하지만 나중에 서버를 외부에 배포할 일이 생긴다면, 우리가 직접 빌드를 하고 실행 파일을 만들어야 할 것이다.다행히 스프링 부트 프로젝트를 빌드하는 과정은 크게 복잡하지 않다.지금부터 그 과정을 알아보자.[!!!주의!!!] 해당 포스팅은 윈도우 OS를 기준으로 설명합니다. Mac 등의 환경에서는 과정에 차이가 있을 수 있습니다.1. gradlew.bat프로젝트 최상위 폴더의 항목 중에서 gradlew.bat 파일이 보이는가?저 파일을 실행시키면 프로젝트가 빌드된다. 참 간단하지 않은가?그럼 이제 빌드를 진행해보자.먼저 cmd를 실행한 후 ..
인프런 강의 바로가기저번 포스팅에서 서버를 실행하고 페이지에 접속해보면, 제대로 된 화면이 보이지 않고 에러 페이지가 뜬 것을 볼 수 있었다.화면이 뜨지 않은 이유가 바로 View를 설정하지 않았기 때문이다.이번에는 스프링 부트에서 이러한 View를 만드는 방법을 정리해보려고 한다.김영한 개발자님의 강의에서는 index.html파일을 통해 정적 웰컴 페이지 만드는 방법과, thymeleaf 템플릿 엔진을 사용해서 템플릿 뷰를 만드는 방법을 다루었다.그럼 이제 본격적으로 View를 만들어보자.1. index.html로 Welcome Page 만들기🎈 Welcome Page웹 페이지의 기본 도메인 주소에 접속하면 보이는 페이지우리가 흔히 접속하는 naver.com/ 이나 google.co.kr/ 등도 We..
김영한 선생님의 강의를 들으며 공부할 예정이다. 강의 주소는 아래와 같다.인프런 강의 바로가기1. 프로젝트 생성스프링 부트 프로젝트는 'Spring Initializr' 이라는 사이트에서 생성할 수 있다. 아래 주소로 이동할 수 있다. Spring Initializr접속하면 위 그림과 같은 페이지에서 프로젝트를 설정할 수 있다.Project: 프로젝트의 *빌드 도구를 설정한다. 빌드 도구에는 Maven, Gradle 등이 있는데 최근에는 Gradle을 많이 사용한다고 한다. 스프링 이니셜라이저에서도 Gradle이 기본 옵션으로 선택되어 있다.빌드 도구(Build Tool)애플리케이션을 빌드할 때 거치는 다양한 과정을 자동화 해주는 도구. 빌드 도구를 사용하여 외부 라이브러리 사용 등을 간단하게 설정할 수..
스프링 부트를 공부하면서 어디서 많이 들어본듯하면서 스쳐간 단어들이 많이 있다.그 중 많이 언급된 단어로 '톰캣', '아파치' 등이 있다.이것들이 뭔가 찾아보니 웹 서버니, 웹 애플리케이션 서버니 뭐니 비슷해보이는 용어들이 튀어나와서 이것들을 정리하는 글을 써보고자 한다.1. Client VS Server위 그림이 클라이언트-서버 모델의 구조이다.그림처럼 클라이언트단에서 서버에게 자원(text, image, file, html 등)을 요청하면, 서버는 그에 대한 응답을 해주는 단순한 구조이다.여기서 클라이언트-서버 간의 데이터의 전송을 웹(Web) 을 통하는 방식의 서버를 웹서버(Web Server) 라고 부른다.2. Web Server웹 서버의 개념은 다음과 같다.🎈 웹 서버(Web Server)웹 ..