스프링부트(10)
-
컴포넌트 스캔으로 의존관계 설정
스프링에서 각 객체를 스프링컨테이너에 빈으로 등록해서 이중에 필요로하는 객체에서 빈을 가져다가 사용한다. 그렇게 하려면 객체를 빈으로 등록해줘야 한다. 빈으로 등록하는 방법중에서 컴포넌트 스캔 방법을 알아보자.package groupInfo.study.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import groupInfo.study.service.MemberService;//@Controller 어노테이션을 넣으면 MemberController 객체를 생성해서 스피링에 넣어두고 관리한다.//스프링 컨테이너에서 빈이 관리되는것@Co..
2024.05.13 -
스프링부트 웹 개발 방식(api)
결론부터 말하면 우리가 브라우저에서 서버로 요청을 보내면 controller에서 요청을 받아 @ResponseBody 를 이용해 객체를 응답 body 부분에 담아서 응답해주는걸 api 방식이라고 한다. 밑에 예시를 봐보자. 1) 요청을 보냄(url) ex1) http://localhost/hello-json?name=spring //문자열 반환을 위한 예시 ex2) http://localhost/hello-json //json 반환을 위한 예시 2) 서버의 controller에 요청이 매핑됨 기존에는 데이터를 받아서 viewResolver한테 넘겨주어서 화면에 렌더링 되어 반환되는데 @ResponseBody가 있는 경우 HttpMessageConverter가 동작하여 데이터를 응답 body에 담아서 반환..
2024.03.19 -
스프링부트 웹 개발 방식(정적 컨텐츠)
스프링 웹 개발에는 크게 3가지로 개발할 수 있다. 정적 컨텐츠 MVC 패턴 API 위에 3가지 방법중 정적 컨텐츠 방법을 알아보자 정적 컨텐츠는 우리가 개발한 HTML 파일을 브러우저를 통해 바로 화면으로 띄우는 방식이다. 이 방식은 데이터를 화면에 동적으로 그리거나 데이터에 대한 처리르 할 수 없다. 그냥 이미 만들어진 화면을 보여주는 방식이다. 과정을 설명하면 1) 사용자가 원하는 화면을 URL로 요청한다 2) 스프링부트의 내장 톰캣은 스프링 컨테이너를 통해 URL 요청을 처리할 수 있는 메소드를 Controller에서 찾는다. 그런데 요청을 처리할 수 있는 메소드가 없다. 3) controller에서 처리할 수 있는 메소드가 없으면 src/main/resources의 static에서 staticT..
2024.02.18 -
스프링부트 프로젝트 빌드하고 실행하기
우리가 스프링부트 프로젝트를 실행할때 보통 이클립스에 들어가서 실행을 했는데 만약에 내가 만든 이 프로젝트를 다른 컴퓨터로 옮겨서 실행하고 싶다고 생각해보자. 다른 컴퓨터로 배포를 해야하는데 그 컴퓨터에 이클립스 깔고 소스 클론하고 개발환경 새팅해서 이클립스로 실행한다고 생각해보자. 참 하기싫어진다. 오늘 이 방법은 빌드를 통해 jar 파일을 생성하고 그 파일을 실행함으로써 프로젝트가 실행되는 방법이다. jar 파일만 옮기고자 하는 컴퓨터로 배포해서 실행하면 된다.(다른 컴퓨터에 직접 옯겨서 실행은 안해봤음ㅎㅎ) 1) 파일 탐색기로 프로젝트 src 폴더가 있는 곳으로 이동 window의 경우 src 폴더가 있는곳에 gradlew.bat 파일이 보일거다. 이거를 빌드하면된다. mac 사용자는 gradlew..
2024.02.18 -
스프링부트 서버 재시작 없이 반영(spring-boot-devtools)
우리가 스프링부트로 개발을 하고 있으면 html 파일이라던가 class 수정을 하면 서버를 껐다가 켜야 반영이된다. 그런데 spring-boot-devtools를 이용하면 서버를 재시작 할 필요없이 브라우저에서 새로고침만 하면 반영이된다. 이 좋은거를 사용할 수 있는 방법을 알아보자. 간단하다 2단계인데 금방 끝나니 주의바란다. 1) dependencies에 추가 gradle 프로젝트인 경우 build.gradle에 밑에 문구를 추가해줘라 implementation 'org.springframework.boot:spring-boot-devtools' maven 프로젝트인 경우 pom.xml에 밑에 문구를 추가해줘라 org.springframework.boot spring-boot-devtools 3.2...
2024.02.18 -
스프링부트 Controller 화면 연결(url)
이전까지 웰컴 페이지를 만들어봤다. https://just-do-it-man.tistory.com/155 스프링부트 웰컴페이지 - welcome page 스프링부트 프로젝트를 생성해서 실행하면 아래와 같은 화면이 뜬다. 스프링부트 프로젝트를 처음에 실행했을때 처음으로 나오는 웰컴 페이지를 만들어보자. 스프링부트 프로젝트가 실행되면 just-do-it-man.tistory.com 이제 웰컴페이지 뿐만아니라 url로 다른 화면들도 연결해보자. 컴퓨터를 하다 보면 사용자들이 페이지에서 다른 페이지로 이동을 한다. 이렇게 페이지가 변할 수 있는거는 사용자가 서버에 원하는 화면을 request(요청)했고 서버는 거기에 맞는 화면으로 response(응답)을 해준다. 그럼 사용자가 어떤 화면을 원하는지 어떠한 요청..
2024.02.17