반응형

Spring 8

[Spring] HTTP 요청 데이터 - GET 쿼리 파라미터 조회 sevlet 예제

http에서 쿼리 파라미터를 조회하는 3가지 예제를 알아보자 1. 전체 파라 조회 2. 단일 파라 조회 3. 복수 파라 조회 먼저 @WebServlet 어노테이션으로 url를 만들어준다. @WebServlet(name = "requestParamServlet",urlPatterns = "/request-param") public class RequestParamServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("[전체 파라 조회]"); r..

Back-end/Spring 2022.11.16

[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] 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

[Spring] Spring이란 무엇일까?

겨울이 끝나고 봄이 온다(?) 라는 의미로 스프링이 탄생한다. 과거 자바(겨울) - 자바당의 정파 기술은 EJB(Enterprise Java Beas) - 금융권, 아키텍터 들이 많이 사용하고 있었다. - EJB를 가지고 영업을 많이 했었다. - 단점 : 진짜 어렵고 복잡하고 느림 현재 자바(스프링) 스프링이 없던 시절에 좋은 객체 지향을 하려고 OCP, DIP 원칙을 지키면서 개발을 해보니, 너무 할일이 많았다. (배보다 배꼽이 커지는 일 발생함) 그래서 프레임워크로 만든게 스프링 프레임 워크 (👉🏻OCP, DIP 원칙에 대해서 알아보는 글) 1. 스프링 - 로드존스가 만듦(2002) - EJB 컨테이너를 대체함 - BeanFactory, ApplicationContext, POJO, 제어의 역전, 의..

Back-end/Spring 2022.02.28
반응형