[BACK-END] 12

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

웹 MVC

Web Application Architecture Model 1과 Model2로 나뉨 JSP가 클라이언트의 요청에 대한 로직 처리와 reponse page에 대한 처리를 모두 하느냐 아님 reponse page만 처리하는지가 가장 큰 차이점 용어 정리 DAO = Database Acess Object MVC = Model View Controller DTO = Data Transform Object Model 1 뷰와 로직을 JSP 페이지 하나에서 처리하는 구조 클라이언트로부터 요청이 들어오게 되면 JSP 페이지는 beans나 별도의 service class 를 통하여 작업을 처리, 결과를 client에 출력한다. 장점 : 구조가 단순하며 직관적이기 때문에 배우기가 쉽다. 개발 시간이 비교적 짧기 때문..

[BACK-END] 2023.03.22

JSP (Java Server Page)

JSP란? 자바 서버페이지는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹페이지를 생성하여 웹 브라우저에 돌려주는 언어 (비슷한 것으로 PHP가 있다) JSP 문법 1. 선언 (Declaration) 멤버변수 선언이나 메소드를 선언하는 영역 2. 스크립트릿 클라이언트 요청 시 매번 호출 영역으로 Servlet으로 변환 시 service() methode에 해당되는 영역 reques, response에 관련된 코드 구현 3. 표현식 데이터를 브라우저에 출력 //선언문 //스크립트릿 //표현식 (출력문) // 세미콜론 찍으면 안됨 JSP 지시자 1. page Directive 컨테이너에게 현재 JSP페이지를 어떻게 처리할 것인가에 대한 정보를 제공 2. include Directive 특정 js..

[BACK-END] 2023.03.22

데이터베이스 기초 요약 및 JDBC

데이터 검색 RDBMS → 관계형 데이터베이스 데이터를 테이블 단위로 관리 중복을 최소화 여러 테이블에 분산되어 있는 데이터를 검색 시 테이브 간의 관계를 이용하여 필요한 데이터를 검색 row(행) column(열) SQL → Structured Query Language 데이터베이스에 있는 정보를 사용할 수 있도록 지원하는 언어 모든 DBMS에서 사용가능 Query의 대소문자는 구분하지 않음 (MySQL은 데이터의 대소문자도 구분하지 않는다) DDL 데이터베이스 객체의 구조를 정의 create 데이터 베이스 객체 생성 drop 데이터베이스 객체 삭제 alter 기존에 전재하는 데이터베이스 객체 수정 create database 데이터베이스명 default character set utf8mb4 coll..

[BACK-END]/DB 2023.02.12

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