Backend/Spring(14)
-
[Spring] Filter와 Interceptor에 대해서 알아보고 사용해보자.
개요이번 과제에서 Spring Interceptor 를 사용을 하게 되면서 Spring 의 흐름은 어떻게 되는지 알게되어서 글을 남긴다. 기본 배경 가장 먼저 흐름에 대해서 알아야한다고 생각을 한다.스프링의 영역은 Dispatcher Servlet 부터 시작을 한다. 그 Spring MVC 에서 나오는 그 Dispatcher Servlet이 맞다. 그리고 Filter 부터 Controller 까지 같은 Servlet Request, Servlet Response 를 사용을 한다. 다음에 나오는 내용들 까지 전부 설명을 하면 좋겠지만, 오늘은 Filter 와 Interceptor의 차이까지만 알아보고자 한다. Filter vs Interceptor FilterInterceptor작동 위치Tomcat..
2025.02.26 -
[Spring] Spring 심화 내용 배운 것 단순 요약.
MappingJackson2HttpMessageConverter우리가 json → object 를 사용하기 위한 컨버터RequestMappingHandlerAdapter공통적으로 HttpMessageConverter을 사용함ArgumentResolveradapter 에서 controller 까지 들어가기 전에 데이터 변환ReturnValueHandlercontroller 에서 adapter 로 가면서 리턴값을 response로 변환Converter Interface스프링이 기본적으로 지원하는 컨버터가 많음org.springframework.core.convert.converterDefaultConversionService → ConversionService 구현체Spring 의 표준 ConversionS..
2025.02.21 -
[Spring] 프로젝트 하면서 느낀 아쉬운점 & 배운점 등
뉴스피드 프로젝트 SA 7조 PK7(PRIMARY KEY 7) | NotionS.A. 내용teamsparta.notion.site 뉴스피드 프로젝트 Github GitHub - PK7NewsFeed/NewsFeed: [내배캠] 뉴스피드 프로젝트[내배캠] 뉴스피드 프로젝트. Contribute to PK7NewsFeed/NewsFeed development by creating an account on GitHub.github.com 뉴스피드 프로젝트 PPThttps://www.canva.com/design/DAGFsBUG69E/tPPdVuneEyUI48j5ZGpGLg/edit?utm_content=DAGFsBUG69E&utm_campaign=designshare&utm_medium=link2&utm_..
2025.02.20 -
[JPA] 연관관계가 있는 객체를 한번에 없애보자.
개요https://github.com/mixedsider/ScheduleProjectVer2 프로젝트를 진행을 하면서 JPA가 연결 관계를 설정을 해두면 자동으로 삭제를 해주는 기능에 대해서 찾아보고 사용을 해보았다. 사용을 하다보면 @OneToMany, @ManyToOne에 대한 것을 사용을 하게 된다. 한 객체에만 해당 내용이 있으면 단방향이 되고,연결된 객체에 @OneToMany, @ManyToOne이 있게 되면 양방향이 된다. 이제 알은 것에 대해서 이야기를 해볼까 한다. 발단public class CommentService {//내용 생략 @Transactional public CommentResponseDto save(Long scheduleId, Long userId, Strin..
2025.02.13 -
[Spring] 환경변수를 설정해서 내 정보가 github에 올라가지 않도록 하기!
개요프로젝트를 진행을 하다보면 유저들에게 보여야 하지 말아야할 정보들이 있다.예를 들어보면 어디서 통신을 받아오는지, 그리고 Github에 올릴 때 우리의 API 정보 등 이 보이면 안된다. 이런 것을 안보이는 방법이 각 환경 변수를 선언을 해서 중요한 정보가 공개가 안되도록 하는 방법이다. 해당 방법을 같이 알아보자. 어떻게 하는가?코딩을 하다보면 전역 변수를 처리하는 방법처럼 전체적으로 프로젝트 전체로 변수를 처리하는 방법이 있다. 대표적으로 자바를 설치할 때 JAVA_HOME을 설정하는 방법이라고 생각하면된다. 처음에만 설정을 하면 우리는 JAVA의 정확한 위치를 모르더라도, JAVA_HOME 환경 변수를 사용을 하면자바를 쉽게 사용을 할 수 있게 된다. 이러한 방법이 .env 로 환경 변수들을..
2025.02.11 -
[Spring] SimpleJdbcInsert로 컬럼 지정하기
개요이번 내배캠에서 과제로 일정 관리 앱을 만들면서 생겼던 트러블에 대해서 이야기를 해보자. 배경가장 먼저 데이터를 삽입을 할 때 자동으로 생성시간과 수정 시간에 대해서 자동으로 입력을 해주는 방법에 대해서 찾아보았다. CREATE TABLE schedule ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '스케줄 ID', todo VARCHAR(200) NOT NULL COMMENT '할일', author VARCHAR(50) NOT NULL COMMENT '작성자', password VARCHAR(15) NOT NULL COMMENT '비밀번호', createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMM..
2025.02.04