[BACK-END]/[SPRING] 9

REST API와 Spring 실습

REST 란 ? REST (Representational State Transfer) 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 작업을 지정하는 방식 REST 아키텍처 스타일 원칙 균일한 인터페이스 (서버가 표준 형식으로 정보를 전송함) 무상태 (서버가 이전의 모든 요청과 독립적으로 모든 클라이언트 요청을 완료하는 통신방법) 계층화 시스템 (클라이언트와 서버 사이의 다른 승인된 중개자에게 연결할 수 있으며 여전히 서버로부터 응답을 받음) 캐시 가능성 (캐싱을 지원) 온디맨드 코드 (클라이언트 기능을 일시적으로 확장하거나 사용자 지정할 수 있습니다. 장점 및 단점 확장성 유연성, 독립 딱 정해진 표준이 없음 (암묵적인 표준만 있음 지켜도되고 안지켜도 되고..

[BACK-END]/[SPRING] 2023.04.26

Spring 개념 및 DI

SpringFramework의 구조 1. POJO (plain old java object) 특정 환경이나 기술에 종속적이지 않은 객체지향 원리에 충실한 자바 객체 테스트하기 용이하며, 객체지향 설계를 자유롭게 적용할 수 있다. 2. PSA (portable service abstraction) 환경과 세부기술의 변경과 관계없이 일관된 방식으로 기술에 접근할 수 있게 해주는 설계 원칙 트랜잭션 추상화 (ex, 데이터베이스에 관계없이 동일하게 적용할 수 있는 트랜잭션 처리방식) 3. loC/DI (dependency Injection) DI는 유연하게 확장 가능한 객체를 만들어 두고 객체 간의 의존관계는 외부에서 다이나믹하게 설정 4. AOP (aspect oriented programming) 관심사의 ..

[BACK-END]/[SPRING] 2023.04.18

Spring MVC

오늘은 저번에 만들어 놓은 회원관리 기능들을 html페이지로 나타내는 작업을 배웠다. 회원가입과 회원 조회페이지를 만들 예정이다. 1. 홈 만들기 이전에 배운 getmapping을 이용해 만들면된다. homeController 페이지에 getMapping을 한다. @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } 어노테이션을 먼저생각하자. 다음은 home.html을 만들면된다. Hello Spring 회원 기능 회원 가입 회원 목록 부끄러운 실수지만 href를 herf라고 입력하여 링크설정이 되지 않았다. 스펠링에 유의하자. 2. /members/new getMapping하기 ..

[BACK-END]/[SPRING] 2022.12.16

Spring bean

스프링 컨테이너가 관리하는 자바 객체를 Spring Bean이라고 부른다. 스프링 빈을 등록하는 방법은 총 2가지가 있다. 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바코드로 직접 스프링 빈 등록하기 자동 의존관계 설정 자동으로 의존관계를 설정해주는 방식이다. 어노테이션 (@) 설정해준다. 가장 편한 방법이 아닐까 싶다. package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller pub..

[BACK-END]/[SPRING] 2022.12.14

Spring 백엔드 기초 중 기초 [회원관리]-(2)

서비스 구성 저번 게시물과 이어서 이번에는 서비스를 만들어 볼 것이다. 총 3가지의 기능을 만들 것이다. (회원가입, 전체 회원 표시, 한명 찾기) 1. 서비스 만들기 전 세팅 우리가 만든 데이터 베이스를 가져오는 것이 필요하다. 그냥 변수 선언해서 가져월 수 있지만 constructor를 이용해서 가져가는게 중요하다. (추후 중복 방지) private final MemberRepository memberRepository; // 컨스트럭터 public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } (여기서 의문점... 왜 인터페이스를 들고오지 내 생각에는 MemoryMemberRe..

[BACK-END]/[SPRING] 2022.12.07

Spring 백엔드 기초 중 기초 [회원관리]-(1)

***인프런 Spring 김영한님의 강의를 듣고 복습하는 중입니다.*** spring 백엔드 기초 중 기초를 실습할 것이다. 회원관리 백엔드를 설계할 것이다. 필요한 기능은 그림을 그려서 설계하는 것이 좋다. 그림을 그릴때는 파일 / 함수 / 변수 모든것을 정의하고 시작하자!!! 데이터베이스를 쓰지 않으므로 메모리를 이용해 일회용 저장소를 만들겠다.!!!! [그림] 저장소 만들기 1. member class 정의 우선 저장소를 만들기 전 Member class를 정의해줄것이다. member는 id와 String 이 포함될 수 있는 클래스로 정의하자 여기서 중요한 점 : intelliJ에서는 컨트롤+엔터를 누르면 게터세터를 자동으로 생성할 수 있다. package hello.hellospring.domai..

[BACK-END]/[SPRING] 2022.12.07

정적 컨텐츠 / MVC / API 방식 기초

spring은 웹 개발할 때 3가지 방식을 이용할 수 있다. 그중 MVC방식과 API방식은 아주 잘 사용되는 방식이므로 동작 방법을 잘 알아놔야한다. 정적컨텐츠 간단한 방법이다. html 파일을 찾아 그대로 출력해주는 방식이다. (정은 움직이지 않는다는 뜻이다.) hello-static.html파일을 만들었다고 생각해보자 브라우저에서 8080:hello-static.html 넘어옴 스프링 컨테이너 안에 있는 hello-static 관련 컨트롤러를 찾아봄(없음) 없다면 resources/static/hello-static.html있는지 찾아봄 → 있다면 출력 이 방식으로 동작한다. 단순히 html을 출력한다면 spring의 장점을 활용할 수 없는 방식이다. 웹 MVC와 템플릿 엔진 view단과 contr..

[BACK-END]/[SPRING] 2022.12.05

SPRING 시작

junho@byeonjunhoui-MacBookAir hello-spring % cd build junho@byeonjunhoui-MacBookAir build % cd libs junho@byeonjunhoui-MacBookAir libs % ls -arlth junho@byeonjunhoui-MacBookAir libs % java -jar hello-spring-0.0.1-SNAPSHOT.jar 백엔드를 다루기 위해서는 스프링을 배워야한다. 스프링의 커리큘럼은 인프런의 무료강의를 먼저 듣기로 다짐했다. [스프링 입문-코드로 배우는 스프링 부트,웹 MVC, DB 접근 기술]이란 강의를 들을 것이다. 이후 커리큘럼은 김영한님의 유로강의를 통해 진행할 생각이다. (돈 써야하네 ....ㅜㅜ) 스프링 시작 ..

[BACK-END]/[SPRING] 2022.12.01