반응형

Back-end/Spring 49

[Spring] 컴포넌트 스캔 @ComponentScan

컴포넌트 스캔(@ComponentScan)을 사용하면 @Component 어노테이션이 붙은 클래스를 다 인식해서 스프링 컨테이너에 등록한다. AppConfig에서 컴포넌트 스캔 어노테이션을 달게되면, 해당 패키지와 그 하위 패키지 까지의 범위를 스캔하게된다. 컴포넌트 스캔이 스캔하는 어노테이션 종류 @Component : 컴포넌트 스캔에서 사용 @Controlller : 스프링 MVC 컨트롤러에서 사용 @Service : 스프링 비즈니스 로직에서 사용 @Repository : 스프링 데이터 접근 계층에서 사용 @Configuration : 스프링 설정 정보에서 사용

Back-end/Spring 2022.11.07

[Spring] Java Persistence API 사용

Java Persistence API의 개요 JPA를 사용을 위한 Dependency 추가와 설정 pom.xml 에 아래와 같이 추가한다. (h2는 버전이 1.4.197 이하로 했을 때 진행 됐었다. —>1.3.176) org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtime 1.3.176 위처럼 pom.xml을 설정하고 http://localhost:8088/h2-console로 접속하면 아래와 같이 로그인 화면이 나온다.(기존에 설정한 유저와 패스워드를 입력하면된다.) 하지만, 이전 시간에 적용한 security 때문에 접속이 안된다. 그래서 SecurityConfig.java 에서 아래와 같은 오버라이드 메서드로 ..

Back-end/Spring 2022.11.06

[Spring] Spring Boot API 사용

REST API Level3을 위한 HATEOAS 설정 버전별 차이가 있음 스프링 2.2 이상의 버전이기 때문에, 아래와 같이 소스코드 작성했다. @GetMapping("/users/{id}") public EntityModel retrieveUser(@PathVariable int id) { //알아서 인티저로 변경해서 사용하려면 형을 정확하게 입력해ㅝ야함 User user = service.findOne(id); if (user == null) { throw new UserNotFoundException(String.format("ID[%s] not found",id)); } // HATEOAS EntityModel model = EntityModel.of(user); WebMvcLinkBuilder..

Back-end/Spring 2022.11.06

[Spring] RESTful Service 기능 확장

Validation Controller에는 아래와 같이 @Valid 어노테이션 사용해야함 @PostMapping("/users") // 체크하는 순서는 Post인지 먼저 체크하고, uri를 체크해서 이쪽으로 오게됨 public ResponseEntity createUser(**@Valid** @RequestBody User user) { //오브젝트 형식의 데이터를 전달하려면 @RequestBody가 필요함 User savedUser = service.save(user); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(savedUser.getId()) .toUri(); return ..

Back-end/Spring 2022.11.06

[Spring] User Service API 추가

유저에 관한 서비스 정의 내용 파일 구조 User Domain 생성 User.java package com.example.restfulwebservice.user; import lombok.AllArgsConstructor; import lombok.Data; import java.util.Date; @Data @AllArgsConstructor public class User { //lombok으로 프로퍼티만 만들어도 됨 private Integer id; private String name; private Date joinDate; } GET 사용방법 UserController.java package com.example.restfulwebservice.user; import org.springfra..

Back-end/Spring 2022.11.06

[Spring] Spring Boot로 개발하는 RESTful Service

Spring Boot 개요 스프링 프레임 워크에 필요한 많은 API를 쉽게 사용할 수 있음 다양한 설정 기능도 쉽게 사용할 수 있음 내장형 톰캣 제티 등이 있기 때문에 별도의 어플리케이션을 설치할 필요 없음 http://start.spring.io 에서 스프링 부트 시작할 수 있음 REST API 설계 Spring Boot Project 생성, 실행 IntelliJ IDEA Ultimate Postman http://start.spring.io에서 아래와 같이 프로젝트 생성한다. ‘GENERATE’를 선택하면 zip 파일이 생성 된다. 압축을 풀고 인텔리제이로 해당 폴더를 오픈하면 된다. HelloWorld Controller 추가 HelloWorld Bean 추가 DispatcherServlet, 프로..

Back-end/Spring 2022.11.06

[Spring] Web Service와 Web Application

웹서비스 - 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용하기 위한 소프트웨어 시스템 웹 어플리케이션 - 웹메일, 온라인 쇼핑몰, 커뮤티니 등 - 사용자는 웹 브라우저를 사용해서 웹어플리케이션을 사용한다. SOAP vs RESTful API SOAP (Simple Object Access Protocol) RESTful API (REpresentational State Transfer) - SOAP 보다 개발하기 수월함 - Resource의 Representation에 의한 상태 전달 - HTTP Method를 통해서 Resource를 처리하기 위한 아키텍처 RESTful - HTTP Method : 프로토콜을 통해서 클라이언트가 서버에 목적을 알려줄수 있다. - HTTP Status Code..

Back-end/Spring 2022.11.04

[Spring] 인텔리제이(IntelliJ) Preferences 초기 세팅 - IntelliJ에서 빌드하도록 설정방법

인텔리제이에서 Preferences 초기 세팅 방법 1. 왼쪽 상단에 IntelliJ IDEA 클릭> Preferences 클릭 2. gradle 메뉴에 들어가서 아래와 같이 세팅 변경을 합니다. - Build and run using 을 IntelliJ IDEA 로 변경한다. - Run tests using 을 IntelliJ IDEA 로 변경한다. - 이렇게 세팅을 하게되면, gradle로 설정했을 때 보다 빠른 빌드가 가능하다.

Back-end/Spring 2022.03.02

[Spring] Spring 프로젝트 생성(Spring boot)

spring 프로젝트 생성 방법에 대해서 알아보겠습니다. 1. Spring 사이트 접속 : https://start.spring.io 2. spring initializr에서 원하는 옵션을 선택 한 후 generate 클릭 저는 honey라는 이름으로 Gradle Project, Java언어, 스프링부트 2.6.4 버전 선택해서 프로젝트를 생성하겠습니다. 3. generate로 생성된 알집을 풀어줍니다. 4. 인텔리제이를 실행하고 'Open'을 눌러서 프로젝트 실행을 하면됩니다. 5. gradle을 다운로드 하는 것을 확인할 수 있습니다. 6. gradle 다운 완료 후, main>java>hello.honey>HoneyApplication에서 Run 실행 - 실행 완료된 것을 밑에 창에서 확인할 수 있..

Back-end/Spring 2022.03.02

객체 지향 프로그래밍의 꽃 : 다형성 (feat. 역할과 구현)

인프런 김영한 '스프링 핵심 원리' 강의 내용을 정리한 것이고, 디테일한 내용은 강의를 듣는 것을 추천합니다. 객체지향의 꽃은 다형성이라고 생각합니다. 스프링에서 가장 중요하게 사용하고 있는 다형성을 역할과 구현을 통해서 쉽게 요약해봤습니다. 1. 객체지향 프로그래밍의 '지루한' 설명 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) - 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 객체지향 언어의 특징에서의 지루한 설명에는 항상 '유연하고 변경에 용이' 라는 키..

Back-end/Spring 2022.03.02
반응형