본문 바로가기

스프링25

Spring - Jackson 이란? 안녕하세요. 고코더 입니다. 이번 시간에는 RestApi에서 자주 사용하는 Jackson 라이브러리를 알아보겠습니다. Jackson 이란? Jackson 은 JAVA 진영에서 대표적인 json 라이브러리입니다. 그리고 XML, YAML, CSV 등의 다른 형식의 데이터를 지원하는 data-processing 툴입니다. 스트림 방식으로 속도가 빠르고 유연합니다. annotation 방식으로 사용이 가능하며 각종 문서화와 유효성 체크를 쉽게 가능하게 해 줍니다. 스프링과 Jackson Jackson은 스프링 3.0이후 부터 @RequestBody 방식을 이용한 리턴 방식이면 MessageConverter 가 작동해 자동으로 컨트롤러가 객체를 후킹 할 수 있게 되었습니다. 그래서 스프링에서는 자연스럽게 JSO.. 2022. 2. 8.
Spring - @RestController란? 안녕하세요 고코더 입니다. 이번 시간에는 @RestController를 알아보도록 하겠습니다. 요즘 많이들 사용하는 어노테이션입니다. 왜냐면 REST API가 유행이기 대세이기 때문입니다. 이 기능 덕분에 많은 개발자들이 혜택을 보고 있습니다. @RestController 기본 개념 @Controller + @ResponseBody = @RestController 아주 간단하게 설명하면 이렇습니다. @Controller와 @ResponseBody 결합된 형태입니다. 기존에는 하위 메서드에 @ResponseBody 어노테이션을 붙여서 JSON을 만들었지만, 이 기능 덕분에 이제 쉽게 알아서 전송 가능한 문자열을 만들어줍니다. @RestController 특징 - @RestControoler가 어노테이션이라.. 2022. 2. 6.
@Override 어노테이션이란? 안녕하세요. 고코더 입니다. ● 1. 이렇게 인터페이스를 참조하고 클래스를 만들 경우 @Override 가 자동으로 붙어 있습니다. 그럼 이 어노테이션은 뭔지? 어떤 기능을 하는지 알아보겠습니다. public class PrinterA implements Printer { @Override public void Printer(String message) { // TODO Auto-generated method stub } } @Override 사용하는 이유 ● 2. 부모의 클래스나 인터페이스로부터 어노테이션 바로 다음에 사용한 메서드라는 걸 말합니다. 만약 이 오버라이드 어노테이션이 없다면 부모로부터 오버 라이딩되었는지 확신할 수 없습니다. 그래서 만약 해당 어노테이션을 사용하면 컴파일러에게 부모 클래스.. 2022. 1. 30.
Spring - @RequestMapping 다중매핑 사용하기 안녕하세요. 고코더 입니다. ● 1. @RequestMapping를 이용해 한 개의 메서드로 여러 URI를 처리할 수 있는 방법을 알아보도록 하겠습니다. 만약 다중 매핑을 하지 않으면 이렇게 동일한 소스가 여러개를 만들어야 하는 불상사가 일어납니다. @RequestMapping("/index") public String projectInfo() { return "메인"; } @RequestMapping("/main") public String projectInfo() { return "메인"; } ● 2. 하지만 다중매핑을 이용하면 하나의 메서드로 여러 URI 호출을 처리할 수 있습니다. @RequestMapping(value = {"/","/index","/main"}) public String pro.. 2021. 12. 16.
스프링부트(Spring Boot)를 배우기 위해, 스프링(Spring)을 먼저 배워야 할까? Spring Boot를 위해 , Spring 먼저 알아야 하나? 안녕하세요. 고코더 입니다. ● 1. 스프링 부트를 학습하는 분이 많습니다. 요즘은 실무에서도 스프링보다 스프링 부트 프로젝트가 많아진 걸 느낍니다. 그래서 많은 학습자들이 질문하는 것 중 하나가 바로 "스프링 먼저 학습해야 하나요?"라는 질문입니다. 이 부분에 대한 답을 진행하려고 합니다. 자바의 학습 로드맵 ● 2. 제가 생각하는 자바를 공부하는 순서입니다. 주목할 점은 서블릿 다음에 바로 스프링 부트를 공부해도 좋고, 혹은 스프링을 공부하고 다음 스프링부트를 공부하는 것도 괜찮다는 이미지입니다. 미리 제 생각의 결론을 말하면 "스프링 부트 먼저 공부해도 좋다"입니다. 기존의 스프링은 복잡하고 불필요한 설정부터 시작하게 되는 버거움을 제.. 2021. 11. 12.
Spring Boot - " Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. " / 포트 충돌 오류 안녕하세요. 고코더입니다. ● 1. 스프링 부트 프로젝트를 시작할 때 아래와 같은 오류 메시지가 나타날 때가 있습니다. 해석 의미 그대로 8080 포토가 충돌이 일어나 발생한 실행 오류입니다. 이미 다른 프로젝트나 프로그램이 해당 포트를 점유하고 있어서 생긴 문제입니다. Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. Disconnected from the target VM, address: '127.0.0.1:12443', transport: 'socket' Process finished with exit code 1 ● 2. 해결 방법은 단순.. 2021. 11. 1.
Spring - "Connection is read-only. Queries leading to data modification are not allowed;" 오류 해결법 안녕하세요. 고코더 입니다. ● 1. 스프링부트에 mysql 을 사용하던 중 해당 오류가 발생하였습니다. update 쿼리를 실행할시에 생기는 오류 메세지 입니다. 메세지 의미 그대로 읽기 전용으로 되어 있는 상태라서 수정이 안되고 있는 상태입니다. java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed; ● 2. 해결 방법은 간단합니다. 어노테이션에 @Transactional 을 선언하고 readOnly 속성을 false로 지정해주면 완료입니다. @Transactional(readOnly = false) 그럼 손쉽게 해당 오류 메세지를 해결 가능합니다. 2021. 10. 30.
Spring - @Validated 란? 무엇인가? / @Valid와 차이점 @Validated를 알아보자 안녕하세요. 고코더 입니다. 오늘은 스프링에서 데이터 유효성 검증에 사용하는 @Validated 라는 어노테이션을 배워 보려고 합니다. 오래전부터 자바를 쓰신 분들은 @Valid 라는 단어가 더 익숙하지만 오늘은 스프링에서 제공하는 @Validated 를 알아보도록 하겠습니다. ● 1. @Valid와 차이 우선 기존의 존재하던 데이터 유효성 검사 메서드는 기존 자바의 기술입니다. "javax.validation.Valid" 입니다. 자바에 존재합니다. 서블릿 기술입니다. 찾아보니 현재 JSR 380까지 출시되어 있습니다. ( The Java Community Process(SM) Program - JSRs- Java Specification Requests - detail .. 2021. 6. 16.
Spring - AOP 용어/ advice 어노테이션 용어 / (2) AOP 관련 단어 정리 안녕하세요. 고코더 입니다. 이전 시간에는 AOP라는 의미에 대해 알아보았습니다. 이번 시간에는 사용하는 용어에 대해 알아보겠습니다. AOP 관련 용어 1. Aspect 기본적으로 AOP는 흩어진 Aspect들을 모아서 모듈화 하는 기법을 말합니다. 사전적으로 말하며 흩어진 관심사를 모듈화 한 것입니다. 부가기능을 모듈화 합니다. 2. Target 타겟은 Aspect할 대상을 말합니다. 핵심 기능을 담고 있는 모듈들은 부가기능을 부여할 대상이 됩니다. 3. Advice 실질적인 부가기능을 구현한 구현체를 말합니다. 어떤 동작을 해야할지 대한 것들입니다. 4. Joint Point Advice가 적용될 위치에서 끼어들 수 있는 지점을 말합니다. 다양한 시점에 적용가능 합니다. (ex.. 2020. 3. 19.