본문 바로가기

웹 개발/스프링

(15)
[스프링] 스프링이라굽쇼? 0. 스프링의 등장 배경 - 2002년에 로드 존슨이 JEB의 문제점을 지적하며 출판한 "J2EE Design and Development "에는 현재 스프링의 핵심 개념과 기반 코드들이 포함되어 있습니다. (Bean Factory, ApplicationContext, POJO, IoC, DI) - 로드 존슨의 출간 이후 유겐 휠러(Juergen Hoeller)와 얀 카로프(Yann Caroff)가 오픈 소스 프로젝트를 제안 했으며 현재까지 스프링의 핵심 코드를 유겐 휠러가 개발하고 있습니다. - 2003년 스프링 프레임워크 1.0을 출시 후 2014년 스프링 부트 1.0이 출시 되었으며 2020년에는 현재 스프링 5.2.x, 스프링 부트 2.3.x가 출시되어 있습니다. https://velog.io/@..
[스프링 부트 심화] 스프링 동작 원리 0. 스프링 학습 전략 스프링은 2004년 1.0 버전 출시 이후 20년간 진화한 프레임워크로서 '개발 편의성 증대'에 초점을 맞춰 발전해 왔습니다. 따라서 사용법은 쉬워져 왔으나 원리 파악이 어려운 단저을 가지고 있습니다. 방대한 양의 관련 기능과 옵션을 학습하기 위해서는 학습 전략을 설정하는 것이 중요합니다. - 작은 프로젝트에서 시작하기 : 사용법 위주의 경험, 프로젝트에 기능을 추가 - 사용법 위주로 학습하기 : 스프링 사용법을 먼저 학습, 적용한 후 원리를 학습하기. 단, 이해가 가는 부분까지만 학습하기 - 원리를 파악해야 하는 이유 : 현업 개발의 정확도와 신뢰도를 향상, 일반적이지 않은 어려운 요구사항을 해결할 때 필요 - 주제 별 학습 : 스프링은 모듈화가 잘 제공되어 있어 필요한 부분만 ..
[스프링 부트 기초] 스프링 나만의 셀렉샵 0. 만들거 예시 http://spring.spartacodingclub.kr/ 00만의 셀렉샵 관심상품을 선택하고, 최저가 알림을 확인해보세요! spring.spartacodingclub.kr 프로젝트 셋팅 : 패키지 : Spring Web, MySQL, H2, Lombok, JPA 셋팅 : Annotation Processing(어노테이션 프로세서), Auto Import(자동 가져오기) 1. 네이버 쇼핑 API 네이버 API 목록 : https://developers.naver.com/products/intro/plan/ https://developers.naver.com/products/intro/plan/ developers.naver.com 내 어플리케이션 등록 : https://develop..
[스프링 부트 기초] 스프링 메모장 만들기 1. API 2. JPA 쿼리 참고 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods Spring Data JPA - Reference Documentation Example 119. Using @Transactional at query methods @Transactional(readOnly = true) interface UserRepository extends JpaRepository { List findByLastname(String lastname); @Modifying @Transactional @Query("delete from User u where u.active = false") vo..
[스프링 부트 기초] 스프링과 데이터베이스 0. 개요 DB란? : 데이터의 저장, 읽기, 삭제, 변경을 하는 소프트웨어 종류 : MySQL, H2,,, 언어 : SQL H2 는 RDBMS의 한 종류로 서버가 켜져 있는 동안에만 동작합니다. JPA는 자바 명령어를 SQL로 번역합니다. 자바를 활용해 데이터의 생성, 조회, 변경, 삭제를 할 수 있습니다. Repository는 JPA를 동작할 때 사용하는 매개체입니다. 스프링은 데이터를 주고 받는 방법을 강제합니다. -> DTO Lombok으로 코드 절약을 합니다. 패키지 : Spring Web, H2 Database, MySQL Driver, Spring Data JPA, Lombok 1. RDBMS RDBMS란? : Relational Data Base Management System : 컴퓨터의..
[스프링 부트 기초] RESTful Controller 0. RESTful이란? RESTful 이란 Representational State Transfer(REST) 아키텍처 스타일을 따르는 웹 서비스로서 분산 하이퍼미디어 시스템을 위한 자원(URI)의 표시, 행위(HTTP Method)를 정의한다. RESTful 한 웹 서비스는 이러한 REST 아키텍처 스타일을 따르며, 각 자원에 대한 고유한 URI를 정의하고 해당 자원의 CRUD(Create, Read, Update, Delete) 작업을 HTTP Method를 통해 처리할 수 있는 웹 서비스를 말한다. 스프링에서는 @RestController 어노테이션을 사용하면, 해당 클래스가 RESTful 웹 서비스를 제공하는 컨트롤러임을 나타낸다. 이 클래스에서 정의된 각각의 메소드들은 URI, HTTP Met..
[스프링 부트 기초] 프로젝트 셋팅하기 0. 스프링이란? - 스프링 부트와의 차이 스프링은 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크로서 엔터프라이즈급 어플리케이션 개발에 사용됩니다. 스프링은 의존성 주입(DI), Aspect Oriented Programming, 데이터 엑세스, 웹 프레젠테이션 계층, 보안 등 다양한 기능을 제공합니다. 스프링 부트는 스프링 기반의 프로젝트로서 개발과 배포를 더욱 간단하게 도와주는 도구입니다. 스프링부트는 스프링의 다양한 설정을 자동으로 처리하고, 내장형 서버(embedded server)를 제공하여 별도의 웹 서버 없이 어플리케이션을 실행할 수 있습니다. 또한 스프링부트는 간단한 설정 만으로도 어플리케이션의 성능 모니터링, 로깅, 보인 등 다양한 기능을 제공합니다. 스프링과 스프링부트의 가장 큰 ..