본문 바로가기

전체 글111

[SpringBoot] 스프링부트 JPA(Java Persistence API) 학습하기 JPA는 객체 지향적인 데이터 관리를 위한 기술로, 데이터베이스와 객체 지향 프로그래밍 간의 간격을 줄여주는 역할을 합니다. 이러한 역할은 MVC(Model-View-Controller) 아키텍처와 밀접한 관련이 있습니다. MVC 아키텍처는 어플리케이션의 구성요소를 모델, 뷰, 컨트롤러로 나누어 관리합니다. 이 구조는 각각의 역할을 분담하여 개발의 용이성을 높여줍니다. 모델(Model) : 어플리케이션에서 사용하는 데이터를 관리합니다. 이 데이터는 데이터베이스에 저장될 수도 있고, 메모리에 저장될 수도 있습니다. 모델은 데이터를 저장, 업데이트, 검색하는 작업을 담당합니다. 뷰(View) : 데이터를 시각적으로 표현합니다. HTML, CSS, JSP 등의 웹 프로그래밍 기술을 사용합니다. 뷰는 사용자에게.. 2023. 3. 9.
[SpringBoot] 스프링부트 JPA와 JSP의 차이 SP(Java Server Pages)와 JPA(Java Persistence API)은 모두 자바 언어를 기반으로 하는 웹 개발 기술입니다. 그러나 두 기술은 목적과 사용 방법이 매우 다릅니다. 이번 글에서는 JSP와 JPA의 차이를 중심으로 살펴보겠습니다. JSP란 무엇인가? JSP는 웹 어플리케이션에서 동적인 페이지를 생성하는 기술입니다. JSP는 HTML 코드와 자바 코드를 조합하여 웹 페이지를 동적으로 생성합니다. JSP는 서블릿 기술을 기반으로 하며, JSP 파일은 서블릿 파일로 변환되어 실행됩니다. JSP는 자바 코드를 사용하여 동적인 웹 페이지를 생성할 수 있어 개발 속도가 빠르고 유지 보수가 쉽습니다. JPA란 무엇인가? JPA는 자바 언어에서 관계형 데이터베이스를 사용하는 애플리케이션을.. 2023. 3. 9.
[SpringBoot] 스프링부트 타임리프(Thymeleaf) 타임리프(Thymeleaf) Thymeleaf는 Spring Boot에서 가장 많이 사용되는 템플릿 엔진 중 하나이다. Thymeleaf는 자바 객체를 HTML로 변환하는 데 사용할 수 있으며, 단순한 문법을 사용하여 복잡한 기능을 구현할 수 있다. 또한 타임리프는 JSP와 마찬가지로 서버 측에서 렌더링되므로 SEO(Search Engine Optimization)에 유리하다. 그렇다면 타임리프의 특징에 대해 알아보자. 서버상에서 동작하지 않아도 HTML 파일의 내용을 바로 확인이 가능하다. 순수 HTML 구조를 유지한다. -> 내추럴 템플릿이라고도 불림 서버 구동 O → 뷰 템플릿을 거쳐 동적으로 변경된 HTML 파일을 확인 할 수 있음 서버 구동 X → 순수 HTML 파일 확인 가능 ( 개발 툴의 있.. 2023. 3. 2.
[SpringBoot] 스프링부트 스웨거(Swagger) 사용법 및 테스트 1. 스웨거(Swagger) [ Swagger ] 스웨거는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. - 위키 내가 만든 rest api들의 매핑주소를(URL) 입력하여 테스트 할 수 있는 아주 유용한 아이! 2. 사용방법 (1) 스웨거 의존성 추가 (메이븐) //버전 확인하기 io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 (2) 스웨거 기능 추가 (1) SwaggerConfig 클래스 생성 (2) 어노테이션 추가 및 기능 활성화 @Configuration @EnableSwagger2 public class S.. 2023. 2. 12.
[SpringBoot] 스프링부트 Spring Security 1. Spring Security란? [ Spring Security ] Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. Spring Security는 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller사이에 위치한다는 점에서 적용 시기의 차이가 있다. Spring Security는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다. 이러한 Sp.. 2023. 2. 12.
[SpringBoot] 스프링부트 IoC - 프로젝트 패키지 생성 오류 찾기 스프링에선 프로그램에 대한 제어 흐름을 스프링 컨테이너가 가지고 있다. 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC) 이라고 부른다. 만약 ClassA의 Start() 메소드 안에 있는 지역변수 a를 ClassB에 있는 메소드가 사용하려면 어떻게 해야 하는 가? 아마 우리는 new 생성자로 해당 클래스 변수를 heap영역에 불러오고 사용할 것이다. 그리고 이것은 스택에서 생성된다. 이 처럼 스택에서 만든 모든 생성자, 메소드 등 모든 객체는 해당 지역변수가 관리하기 때문에 이 지역변수는 다른 스택에서 공유해서 사용할 수 없다. 뭐 이것을 리턴값을 만들어서 사용하거나 전역변수를 쓸 수도 있다. 그러나 new로 객체를 만들고 소멸하기를 반복하는 것은 관리의 효.. 2023. 2. 11.