Spring

· Spring
목차 개요 프로젝트를 진행하던 도중 JPA를 사용하여 Java 엔티티 클래스를 구성하고 있었는데 그중 @Column 애노테이션을 이용하여 기본값(default value) 설정을 진행하였지만 새 인스턴스를 생성하고 DB 내부를 확인해보니 설정하였던 디폴트값이 적용되지 않았기에 글을 써보게 되었다. 문제 상세분석 'FavoriteDepartment' 라는 클래스에서 회원들이 즐겨찾기한 기관 및 학과를 저장할때 저장 시에 팝업알림의 유무를 특정 필드isAlert을 통해 구현하고자 했다. 따라서 애너테이션을 이용해 기본값으로 `true`를 갖도록 설정하려고 했다. 이러한 설정을 통해 기대했던 동작은 FavoriteDepartment 인스턴스를 생성하면서 isAlert 필드가 자동적으로 true로 설정되는 것이..
· Spring
목차 개요 프로젝트를 진행하다보면 데이터베이스와의 상호작용에서 일시적인 필드를 사용해야 하는 경우가 종종 있다. 이런 경우에 단순한 작업의 경우에는 @Transient 어노테이션을 사용하여 필드를 영속성 컨텍스트에서 제외시킬 수 있다. 이 포스팅에서는 처음에 @Transient 어노테이션을 사용하여 구현하는 원리를 설명한 후, 나중에 Data Transfer Object(DTO)를 사용하여 레이어를 분리하는 방법에 대해 설명하고 그에 따른 장단점을 설명하겠다. @Transient 어노테이션을 사용한 구현 @Transient 어노테이션은 JPA에서 사용되며, 클래스의 필드를 영속성 컨텍스트에서 제외시켜서 해당 필드는 데이터베이스에 저장되지 않고, 데이터베이스로부터 로드되지도 않게된다. 위의 코드에서는 Bu..
· Spring
목차 개요 (공식문서에는) 스프링 프레임워크는 강력한 기능을 제공하며, 각 구성 요소는 특정 역할을 수행하여 애플리케이션을 구축한다. 이 글에서는 스프링 프레임워크의 주요 구성 요소인 Controller, Config, DTO, Entity, Repository, Service의 역할에 대해 간단하게 알아본다. 또한 정석적인 설명은 타 블로그나 인터넷 확실하게는 공식문서에 전부 게시되어있기에 내가 느낀 방향대로 설명을 해보겠다. 구성요소들 Controller 클라이언트의 요청을 처리하고 응답을 반환하는 역할을 담당한다. 이를 통해 웹 요청을 받고 적절한 서비스를 호출하여 결과를 반환하며, HTTP 응답을 생성한다. 요즘 통용되는 RESTful한 설계 방식에 있어서 @RestController 이라는 어노..
· Spring
목차 개요 본 포스팅에서는 프로젝트를 위한 디렉토리를 생성하고 application.yml , build.gradle 파일과 docker 위에서 실행하였던 mySQL을 IntelliJ에서 지원해주는 DB관리 도구를 통해 프로젝트와 연결해보자 프로젝트를 위한 디렉토리 생성해주기 (IntellJ 기준) 생성과 함께 설명을 곁들이려한다. 자세한 설명을 듣기 위해서는 아래를 참고해보자 SpringFramework 구성요소 목차 개요 (공식문서에는) 스프링 프레임워크는 강력한 기능을 제공하며, 각 구성 요소는 특정 역할을 수행하여 애플리케이션을 구축한다. 이 글에서는 스프링 프레임워크의 주요 구성 요소인 C nstgic3.tistory.com config 일종의 환경설정 들을 적어 넣을것이다. 보안에 관련된 Se..
· Spring
목차 개요 본 내용은 약 한달간 spring boot를 배우면서 프로젝트를 위해 구현한 jwt기반으로한 회원가입, 로그인, 토큰 재발급 에 대한 기능을 구현하고 있으며 SpringSecurity에서 제공해주는 UserDetail, UserDetailService를 상속하여 사용하고 있습니다. 또한 Security Config에 작성될 filterChain 또한 spring boot 3.0 으로 업데이트 되면서 만료된 WebsecurityConfigurerAdapter을 사용하고 있지 않고 @Bean 을 통해 SecurityFilterChain을 사용합니다. 포스팅의 목적은 자세한 설명이 첨부된 일종의 지침서를 만들고자하는 생각에 있습니다. 한달여 동안 스프링을 하면서 느낀점인데 장고를 다루어봤던 제 경험..