스프링부트

Spring Boot 기본

크렘브륄레 2019. 9. 16. 17:11

https://engkimbs.tistory.com/748?category=767865

 

[Spring Boot #1] 인텔리제이(IntelliJ)로 스프링 부트 프로젝트 시작하기

| 스프링 부트(Spring Boot)란? 스프링 부트(Spring Boot)는 스프링 프레임워크 기반 어플리케이션을 더 빠르고 쉽게 개발할 수 있게 해주는 오픈소스 프로젝트입니다. 스프링 프레임워크만으로 개발할 때보다 간..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/750?category=767865

 

[Spring Boot #2] 스프링 부트 프로젝트 구조 (Spring Boot Project Structure)

| 스프링 부트 프로젝트 구조 (Spring Boot Project Structure) 스프링 부트의 프로젝트 구조는 다음과 같습니다. | pom.xml +---src | +---main | | +---java | | | \---com | | | \---tutorial | | | \---sprin..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/752?category=767865

 

[Spring Boot #3] 스프링 부트 의존성 관리 (Spring Boot Dependency Management)

| 스프링 부트 의존성 관리 (Spring Boot Dependency Management) 스프링 부트는 Maven, Gradle 같은 빌드 관리 툴을 통해 의존성을 관리합니다. 여기서는 Maven 기준으로 스프링 부트가 의존성을 어떻게 관리하..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/753?category=767865

 

[Spring Boot #4] 스프링 부트 자동 설정 만들기 : Starter, AutoConfigure

| 스프링 부트 자동 설정 이해 스프링 부트는 스프링 프레임워크에서 어플리케이션을 만들 때 주로 사용하는 설정들을 자동으로 설정합니다. 이 기능은 자바의 main 진입점에 @SpringBootApplication을 붙임으로..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/754?category=767865

 

[Spring Boot #5] 스프링 부트 자동 설정 만들기 : @ConditionalOnMissingBean, @ConfigurationProperties

| 사용자(Custom) Autoconfigure 클래스 선언의 문제점 @Configuration 어노테이션을 등록하여 Autoconfigure 스프링 부트 자동 설정을 만들었지만 여기에 문제점이 있습니다. @SpringBootApplication public cla..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/755?category=767865

 

[Spring Boot #6] 스프링 부트 내장 웹 서버 톰캣(tomcat) 설정

| 스프링 부트 내장 웹 서버 설정 스프링 부트 프로젝트를 생성할 시 스프링 부트에서는 내장 서블릿 컨테이너인 톰캣(tomcat)이 자동적으로 설정됩니다. 스프링 부트에서는 ServletWebServerFactoryAutoConfigur..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/756?category=767865

 

[Spring Boot #7] 스프링부트(Spring Boot) HTTPS 구축, HTTP2, 다중 커넥터 설정

| 스프링부트(Spring Boot) HTTPS 구축 스프링부트에서 HTTPS 설정법은 다음과 같습니다. Terminal 창에 다음과 같이 커맨드를 입력하여 keystore 파일을 하나 생성합니다. keytool -genkey -alias spring -store..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/763?category=767865

 

[Spring Boot #8] 이벤트 리스너 및 웹 어플리케이션 타입 지정, 커맨드 인수 처리( Event Listener, Application Type, Command Arguments )

| 이벤트 리스너( Event Listener ) 스프링 부트를 실행할 시 구동되는 단계마다 여러 이벤트들이 발생하게 됩니다. 스프링부트에서는 프로그래머가 이 이벤트들을 나타내는 객체를 인자로 받아 각 단계마다 원하..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/765?category=767865

 

[Spring Boot #9] 스프링 부트 외부 설정, 설정값 검증

| 스프링 부트 외부 설정 스프링 부트는 외부 설정을 통해 스프링 부트 어플리케이션의 환경설정 혹은 설정값을 정할 수 있습니다. 스프링 부트에서 사용할 수 있는 외부 설정은 크게 properties, YAML, 환경변수..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/766?category=767865

 

[Spring Boot #10] 스프링 부트 프로파일(Spring Boot Profile)

| 스프링 부트 프로파일 (Spring Boot Profile) 스프링 부트에서는 프로파일(Profile)을 통해 스프링 부트 애플리케이션의 런타임 환경을 관리할 수 있습니다. 예로들어 어플리케이션 작동 시 테스트 환경에서 실..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/767?category=767865

 

[Spring Boot #11] 스프링 부트 로깅( Spring Boot Logging )

| 스프링 부트 로깅( Spring Boot Logging ) 스프링 부트에서는 로깅 설정을 자동적으로 지원합니다. 다음과 같이 slf4j 로깅 파사드( 로깅 모듈을 추상화한 것 )를 통해 logback 을 기본적으로 지원하고 있죠. @..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/768?category=767865

 

[Spring Boot #12] 스프링부트에서 테스트 작성하기( Spring Boot Test )

| 스프링부트 테스트 ( Spring Boot Test ) 스프링부트에서는 @SpringBootTest 어노테이션을 통해 스프링부트 어플리케이션 테스트에 필요한 거의 모든 의존성을 제공해 줍니다. 또한 @SpringBootTest 어노테이션..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/770?category=767865

 

[Spring Boot #13] 스프링 웹 MVC : HttpMessageConverter, ViewResolver

| 스프링 부트에서 스프링 웹 MVC 컨트롤러 구현 프로젝트 구조 | pom.xml +---src | +---main | | +---java | | | \---com | | | \---tutorial | | | \---sptringbootmvc | | | | SptringBootMvcApplication.jav..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/772?category=767865

 

[Spring Boot #14] 스프링 웹 MVC : 정적 리소스 지원

| 스프링 부트 정적 리소스 지원 스프링 부트에서 정적 리소스를 지원할 시 url의 root(/)에 자동적으로 정적 리소스를 매핑 할 수 있습니다. 프로젝트 구조 | pom.xml +---src | +---main | | +---java | | | \-..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/773?category=767865

 

[Spring Boot #15] 스프링 웹 MVC : 인덱스 페이지와 파비콘

| 스프링 웹 MVC 인덱스 페이지 웰컴 페이지 : 웹 어플리케이션의 root(/)로 요청했을 때 보여주는 페이지입니다. index.html 을 만들고 resources 안에 두면 root(/) 요청 시 어플리케이션이 해당 html 파일을..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/774?category=767865

 

[Spring Boot #16] 스프링 웹 MVC : Thymeleaf 템플릿

| Thymeleaf란? Thymeleaf는 스프링 부트가 자동 설정을 지원하는 웹 템플릿 엔진입니다. HTML문서에 HTML5 문법으로 서버쪽 로직을 수행하고 적용시킬 수 있습니다. HTML 디자인에 전혀 영향을 미치지 않고 웹..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/778?category=767865

 

[Spring Boot #17] 스프링 부트 HtmlUnit 써보기

| HtmlUnit이란 HtmlUnit은 프로그래밍적으로 HTML 사이트와 상호작용할 수 있게 하는 자바 오픈소스입니다. 테스트 프레임워크로서 생각할 수 있지만 브라우져와 프로그래밍적으로 상호작용 할 수 있게 하는 확..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/779?category=767865

 

[Spring Boot #18] 스프링 부트 ExceptionHandler

| 스프링 부트 ExceptionHandler 스프링 부트에서는 ExceptionHandler를 기본적으로 등록하여 Exception을 처리하고 있습니다. 기본 예외 처리기는 스프링에서 자동적으로 등록하는 BasicErrorController에서 관..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/780?category=767865

 

[Spring Boot #19] 스프링 부트 Spring HATEOAS

| HATEOAS란? HATEOAS는 Hypermedia As The Engine Of Application State의 약자로 하이퍼미디어를 REST API의 상태 정보를 관리하기 위한 매커니즘으로 활용하는 것을 말합니다. REST API에서 클라이언트에 리소..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/781?category=767865

 

[Spring Boot #20] 스프링 부트 CORS

| CORS(Cross-Origin Resource Sharing)이란 CORS는 동일한 출처(Origin: 최초 자원이 서비스된 출처)가 아니여도 다른 출처에서의 자원을 요청하여 쓸 수 있게 허용하는 구조를 뜻합니다. 보통 보안 상의 이슈(D..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/782?category=767865

 

[Spring Boot #21] 스프링 부트가 지원하는 인메모리 데이터베이스

| 인메모리 데이터베이스 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스입니다. 디스크 검색보다 자료 접근이 훨씬 빠른 것이 큰 장점입니다. 단점은 매체가 휘발성이기 때문에 DB 서버가..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/783?category=767865

 

[Spring Boot #22] 스프링 부트 DBCP 및 MySQL 연동해보기

| DBCP란 DBCP(Database Connection Pool)은 특정 DB에 커넥션 객체를 미리 만들어 놓고 그 커넥션이 필요할 때마다 어플리케이션에 할당하는 개념입니다. 마치 어떤 풀(저장소)에 아이템을 미리 담가놓고 필요할..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/789?category=767865

 

[Spring Boot #23] 스프링 부트 PostgreSQL 연동하기

| 스프링 부트 PostgreSQL 연동하기 MySQL 연동하는 법과 유사하므로 다음 글을 참조하시면 좋습니다. [Spring/Spring Boot] - [Spring Boot #22] 스프링 부트 DBCP 및 MySQL 연동해보기 프로젝트 구조 ├── po..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/790?category=767865

 

[Spring Boot #24] 스프링 부트 Spring-Data-JPA 연동

| Spring-Data-JPA란 ORM은 "관계형 데이터베이스의 구조화된 데이터와 자바와 같은 객체 지향 언어 간의 구조적 불일치를 어떻게 해소할 수 있을까"라는 질문에서 나온 객체-관계 매핑 프레임워크입니다. 즉, 객..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/794?category=767865

 

[Spring Boot #25] 스프링 부트 데이터베이스 초기화

이전 포스팅에서 쓰던 테스트 및 소스 코드를 사용합니다. [Spring/Spring Boot] - [Spring Boot #24] 스프링 부트 Spring-Data-JPA 연동 | 스프링 부트 데이터베이스 초기화 실제 인메모리 DB가 아닌 일반 디스..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/795?category=767865

 

[Spring Boot #26] Flyway를 이용한 데이터 마이그레이션

| Flyway란? Flyway는 오픈소스 마이그레이션 툴입니다. 자바나 c++같은 프로그램의 소스 코드는 svn, git과 같은 형상관리 툴로 쉽게 관리할 수 있지만 테이블의 스키마나 데이터는 위와 같은 툴로 변경이력을..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/796?category=767865

 

[Spring Boot #27] 스프링 부트 레디스(Redis) 연동하기

| 레디스(Redis)란? 레디스는 Key-Value 기반인 인메모리 데이터 저장소로서 주로 캐쉬 솔루션으로 쓰이고 있는 오픈 소스 프로젝트입니다. 레디스를 이용하게 되면 JVM위에서 동작하지 않고 어떤 데이터를 캐싱..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/797?category=767865

 

[Spring Boot #28] 스프링 부트 몽고DB(Mongo DB) 연동하기

| 몽고DB란? 몽고DB는 데이터 객체들이 컬렉션 내부에서 독립된 문서로 저장되는, 문서 모델 기반(Document-Based)으로 하는 NoSQL 데이터베이스입니다. 컬렉션이라는 것은 몽고DB에서 용도가 같거나 유사한 문서..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/798?category=767865

 

[Spring Boot #29] 스프링 부트 시큐리티

| 스프링 부트 시큐리티 스프링 부트에서는 웹 접근 시 로그인 같은 인증과정을 쉽게 구현할 수 있도록 시큐리티 모듈을 제공합니다. | 스프링 부트 시큐리티 연동하기 의존성 추가 ..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/807?category=767865

 

[Spring Boot #30] 스프링 부트 시큐리티 커스터마이징

| 스프링 부트 시큐리티 커스터마이징 스프링 부트에서는 사용자의 요청에 따라 어플리케이션 개발자가 인증 절차를 상황에 맞게 설정할 수 있습니다. 프로젝트 구조 +---src | +---main | | +---java | | | \---..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/808?category=767865

 

[Spring Boot #31] 스프링 부트 RestTemplate, WebClient

| RestTemplate, WebClient Spring 기반 프로젝트를 진행하면 컴포넌트 내부에서 URL을 요청해야하는 경우가 생깁니다. Spring에서는 Http 요청을 간단하게 이용할 수 있도록 Blocking I/O 기반의 RestTemplate,..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/809?category=767865

 

[Spring Boot #32] 스프링 부트 Actuator, JConsole, VisualVM, 스프링 Admin

| 스프링 부트 Actuator 스프링 부트 어플리케이션은 actuator라는 모듈을 통해 어플리케이션 상태를 종합적으로 정리해서 제공해줍니다. 이를 통해 스프링 부트 어플리케이션 운영을 손쉽게 할 수 있죠. actuato..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/849?category=767865

 

스프링 부트로 OAuth2 구현(페이스북, 구글, 카카오)

OAuth란? OAuth(Open Authorization)는 토큰 기반의 인증 및 권한을 위한 표준 프로토콜입니다. OAuth와 같은 인증 프로토콜을 통해 유저의 정보를 페이스북, 구글, 카카오 등의 서비스에서 제공받을 수 있고 이..

engkimbs.tistory.com

 

 

https://engkimbs.tistory.com/871?category=767865

 

[스프링 부트/ Spring Boot] 스프링 게시판 만들기 - 부트로 쉽게 구현한 Spring 게시판

| 스프링 게시판 만들기 - 부트로 쉽게 구현한 Spring 게시판 스프링 게시판은 스프링 MVC로 스프링 부트에서 밀고있는 툴인 Thymeleaf를 사용하여 쉽게 만들 수 있습니다. REST API + SPA( React, Vue 등 )으로..

engkimbs.tistory.com