본문 바로가기

Spring Study

(5)
Spring 입문 Study - 정적 컨텐츠, MVC, 템플릿 엔진, API방식 ✅ 정적 컨텐츠 정적 컨텐츠란 클라이언트의 요청을 받고 서버에 미리 저장된 HTML, CSS, JS 등의 파일을 그대로 응답해 보여주는 것을 말한다. 모든 클라이언트들의 요청에 대해 동일한 결과를 보여준다. resources 폴더 아래 static에 hello-static.html 파일을 만들었다. 그리고 @SpringBootApplication 어노테이션이 있는 파일을 실행시킨 뒤 http://localhost:8080/hello-static.html 에 접속하면 화면이 뜨게 된다. 정적 컨텐츠를 띄우게 되는 원리는 다음과 같다. 1. 내장 톰켓 서버가 웹 브라우저로 부터 요청을 받는다. 2. springboot가 hello-static 에 관련된 컨트롤러를 확인한다. 3. springboot가 res..
Spring 입문 Study - Spring 프로젝트 생성, Spring 라이브러리, Spring의 동작 인프런의 김영한 강사님의 강의를 토대로 학습내용을 저장하고 remind 하기 위해 포스팅 한다. ✅ Spring 프로젝트 생성하기 Spring 프로젝트를 생성하는 방법은 다른 프로젝트를 생성하는 것과 약간 다르다. Spring 프로젝트를 생성하는 사이트는 다음과 같다. https://start.spring.io/ 빌드 관리 도구로 Gradle과 Maven을 선택할 수 있는데 요즘에는 대부분 Gradle을 사용한다고 한다. 레거시 프로젝트 같은 경우 아직 Maven을 사용하는 곳도 있다고 한다. Gradle과 Maven에 대한 소개, 차이점은 따로 포스팅할 예정이다. Spring3 으로 업데이트가 되면서 JAVA17을 사용해야 한다. 아마 JAVA 11을 사용했을 때 뭔가 오류 메시지가 출력되었던 것 같다..
[Spring] PageNotFound - No mapping for GET Spring 공부를 하며 만난 Error Message이다 PageNotFound - No mapping for GET.. 직역하자면 내가 Mapping하고 싶은 페이지가 존재하지 않다는 것이다 Tomcat Run/Debug Configuration의 Deployment에서 수정도해보고 Controller 파일에서 @Controller가 제대로 되어있는지, @RequestMapping 도 제대로 해주었는지 확인했지만 틀린게 없었다. 시간이 지나서 결국 원인을 찾아냈는데 내가 원하는 경로는 localhost:8080/helloSpringMVC 였는데 Project Structure의 WAR 파일 명이 잘 못되어있었다. WAR파일명을 helloSpring:war에서 helloSpringMVC:war로 바꿔주..
[Spring] Dependency Injection public class PetOwner{ private AnimalType animal; public PetOwner(){ this.animal = new Dog(); } } 위 코드에서 PetOwner Class는 AnimalType으로 Dog만 소유 할 수 있는 형태이다. PetOwner와 AnimalType은 강한 결합도를 가진다고 볼 수 있다. 만약 Dog대신 Cat을 소유하고싶다면 PetOwner의 소스코드를 변경해야하는 문제점이 있다. 이런 강한 결합도, 소스코드를 직접 변경해야하는 문제점을 해결하기 위해 Dependency Injection 방법을 사용할 수 있다. Bean Container는 Bean들을 만든다. 여기서 Bean은 저번에 포스팅했던 글의 POJO와 같다. 그리고 Config..
[Spring] Spring이란? Spring 이란 Java Application FrameWork라고 할 수 있다. Open Source 이기 때문에 자유롭게 사용 할 수 있다. Pojo 기반의 엔터프라이즈 애플리케이션으로 개발을 쉽고 편하게 할 수 있게 해준다. JAVA Application을 개발하는데 필요한 하부구조를 포괄적으로 제공하므로 개발자는 Application 개발에 집중할 수 있다. -> Simplify Java Enterprise Development. 스프링의 주요 특징으로는 POJO, DI, AOP, PSA가 있다. POJO란? POJO는 Plain Old Java Object 의 약자로 특별한 인터페이스가 구현할 필요가 없고 특별한 클래스를 상속할 필요가 없는 순수객체 Simple Java Class를 말한다. ..

반응형