HttpSessionListener를 이용한 중복 로그인 방지
Java/spring2024. 4. 30. 14:41HttpSessionListener를 이용한 중복 로그인 방지

프로젝트를 간단하게 진행하다 보니 중복 로그인에 관한 내용을 신경 쓰지 않고 있었다. Spring Security를 이용하면 수월하다고 하던데프로젝트에 Spring Security를 적용하지 않아서 급한대로HttpSessionListener를 이용하여 중복 로그인을 방지해 보았다.✅ SessionConfig@Slf4j@WebListenerpublic class SessionConfig implements HttpSessionListener { private static final Map sessions = new ConcurrentHashMap(); //중복로그인 지우기 public static boolean loginSessionidCheck(HttpSession session, String user..

Bean Validation
Java/spring2024. 2. 26. 14:34Bean Validation

Spring boot에서 검증 기능을 매번 작성하는 것은 번거롭다. 검증 로직의 대부분은 빈 값인지, 특정 크기를 넘는지 아닌지와 같은 매우 일반적인 로직이다. 이런 로직을 모든 프로젝트에 적용하도록 공통화하고, 표준화한 것이 Bean Validation이다. 의존성 주입 Bean Validation을 사용하기 위해서는 gradle에 의존성을 추가해야 한다. implementation 'org.springframework.boot:spring-boot-starter-validation' ✅ DTO @Data public class ItemSaveForm { @NotBlank(message = "상품명을 입력해주세요.") private String itemName; @NotNull(message = "가격..

Spring boot 게시판 - 1 < 간단 회원 가입 구현>
Java/spring 게시판2022. 11. 10. 13:49Spring boot 게시판 - 1 < 간단 회원 가입 구현>

시스템 구성 Spring boot 2.7.5 Gradle Java 11 Intellij Ultimate 라이브러리 thymeleaf jpa web lombok h2 DB 프로젝트 구조 프로젝트 구조는 위와 같은 구조를 따라갈 것이며 각 내용이 무엇을 하는지는 https://magicmk.tistory.com/4 Spring boot 패키지 구조 및 내용 spring boot의 구조를 살펴보고 각 기능별로 살펴보겠습니다. 구조 Spring boot는 목적에 따라 패키지를 따로 생성해서 프로젝트를 관리하는데 크게 나누어 보자면 다음과 같다. Controller DTO Service Reposi magicmk.tistory.com 이 전에 작성한 내용을 보면 이해하기 쉬울 것 같다. 구현 우선 회원가입 관련한..

[Spring boot + React] Rest Api 연동하기
Java/spring2022. 8. 16. 17:03[Spring boot + React] Rest Api 연동하기

구조 기본적으로 Spring 프로젝트 내부에 React가 들어가는 형식의 구조로 구성한다. 프로젝트 구조는 본인 편한 대로 구성해도 무방하다. Spring 프로젝트 생성 spring project 생성은 이곳으로 본인이 선호하는 java 버전과 프로젝트 내용을 선택하여 만들면 된다. frontend를 제외하고 위와 같이 프로젝트가 생성이 된다. React 프로젝트 생성 이제 react 프로젝트를 생성할 건데 위치는 원하는 곳에 넣어주면 된다. 나는 spring 프로젝트의 루트 디렉토리에 생성하였다. npx create-react-app {project name} {project name} 이라고 적은 곳에 원하는 app 이름을 작성하면 된다. proxy 설정 이상태로는 프론트와 백이 서로 다른 포트를 사..

Spring boot Scheduler 구현하기
Java/spring2022. 6. 7. 17:53Spring boot Scheduler 구현하기

사내에서 자정에 캠페인의 state 값들을 변경하기 위한 스케줄링 시스템이 필요하여 구현해 보았다. 스케줄러 기능 활성화 Spring boot는 지원하는 스케줄러가 존재하기 때문에 간단하게 활용할 수 있다. 기본적으로 프로젝트 Application 안에 @EnableScheduling 어노테이션을 사용하면 기능 활성화를 할 수 있다. @SpringBootApplication @EnableScheduling public class Application { public static void main(String[] args) throws ParseException, JsonProcessingException { SpringApplication.run(Application.class, args); } } 스케..

Spring boot 패키지 구조 및 내용
Java/spring2022. 2. 22. 17:02Spring boot 패키지 구조 및 내용

spring boot의 구조를 살펴보고 각 기능별로 살펴보겠습니다. 구조 Spring boot는 목적에 따라 패키지를 따로 생성해서 프로젝트를 관리하는데 크게 나누어 보자면 다음과 같다. Controller DTO Service Repository Domain (Entity) Domain DB 테이블과 직접 맵핑되는 클래스로서 JPA 사용 시 어노테이션을 이용하여 테이블, 필드, 등을 설정한다. 또한 Domain과 Client를 직접 연동하지 않고 DTO를 통해 분리하는 이유가 있는데, Client 쪽과 연결된 부분은 잦은 변경사항이 있을 수 있는데 Domain과 연결되어 자주 변경되게 된다면 여러 클래스에 영향을 미치기 때문에 분리한다. DTO는 Domain Model을 복사한 형태로 다양한 Prese..

image