반응형

Spring 51

태태개발일지 -REDIS

REIDSWINDOW VER  보통 redis.conf라는 설정파일을 만든다. vi redis.confex) keyword argument1 argument2#redis.conf bind 127.0.0.1port 6379  아래와 같이 기본 포트와 바인드를 설정해준다. 그후 레디스를 실행해 주면 되는데.$bin/redis-server redis.conf와 같은 방식으로 실행해주면된다. 하지만 이게 에러가 날시wich redis-server를 통해서 redis-server의 위치를 확인하고 $/usr/bin/redis-server redis.conf로 선언해주면된다.  $ export PATH=$PATH:/home/centos/redis/usr/bin로 기본 설정을 해놓으면 서버가 켜져있을 때 redis-..

Spring/Redis 2024.11.12

태태개발일지 - singleton pattern

싱글톤 패턴싱글톤 패턴이란 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. public class SingletonService { private static final SingletonService instance = new SingletonService(); public static SingletonService getInstance() { return instance; } private SingletonService() { }} 위의 코드와 같이 인스턴스를 하나 고정해서 생성한 후에 getInstance 메서드를 통해서 인스턴스를 사용한다. 싱글톤의 단점1.  의존성이 높아진다.2.  private 생성자 때문에 상속이 어렵다.3.  테스트하기가 힘들다. 싱글톤..

Spring 2024.11.08

태태개발일지 - 스프링 log4jdbc 설정

스프링 log4jdbc 설정 spring을 통해 로그를 조회하다보면 sql문에 매개변수들이 ?  ? 로 떠서 어떤 매개변수가 나갔는지 모르는 경우가 많았다 이를 해결하기 위해서 log4jdbc를 통해서 Log를 남겨보기로 했다.  1.  우선 Build.gradle 파일에 아래와 같은 Dependency를 추가해 주어야 한다.implementation('org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16')  2. resources 하위에 라는 이름의 프로퍼티를 생성한다.log4jdbc.log4j2.properties log4jdbc.spylogdelegator.name = net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator /..

Spring/프로젝트 2024.10.31

태태개발일지 - JPA Auditing

JPA Auditing 계속 사용하다가 까먹어서 글로 정리하려고 한다.  우선 Auditing 기능을 사용하려면@EnableJpaAuditing@SpringBootApplicationpublic class AdminApplication { public static void main(String[] args) { SpringApplication.run(AdminApplication.class, args); }}을 명시해 주어야한다. 그리고 Entity 상단에는@Data@EntityListeners(AuditingEntityListener.class)@Table(name = "", catalog = "", schema = "")public class CtrlInfo { 이벤트 리스너를 통해서 Audi..

Spring/JPA 2024.10.22

태태개발일지 -Querydsl

QueryDsl  결과값의 종류 1. 단일 결과 조회 • fetchOne(): 하나의 결과만 반환. • fetchFirst(): 결과 중 첫 번째 것만 반환.Member member = queryFactory .selectFrom(QMember.member) .where(QMember.member.username.eq("user1")) .fetchOne(); 주의사항: 결과가 없으면 null을 반환하고, 두 개 이상의 결과가 있으면 NonUniqueResultException이 발생합니다.  2. 다중 결과 조회 • fetch(): 리스트 형태로 여러 결과를 반환.List members = queryFactory .selectFrom(QMember.member) .where(Q..

Spring/QueryDsl 2024.09.24

태태개발일지 -Spring bean

Spring @Configuration스프링 컨테이너는 싱글톤 방식을 지원하게 해준다 -> 이거에 대한 자세한 설명은 IOC 컨테이너 글에서 다루겠다.그렇기에  java config class에서 @Configuration Annotation을 붙이지 않는다면 싱글톤을 지원해 주지 않는다. 스프링 컨테이너는 @Bean으로 등록되어있는 객체들을 관리하고, 이에 맞춰서 올바르게 의존성을 주입시켜 준다.그렇기에 @Configuration을 통해서 싱글톤을 보장하는 것이다.  의존성 주입 방법그렇기에 의존성을 주입해 주는 방법이 있다. 1. 생성자 주입 -> 가장 많이 사용하는 방식2. 필드 주입  -> final 사용을 할 수 없어 불변성 부족, 의존성 주입 테스트가 어렵다는 단점이 있다.3. setter 주..

Spring 2024.09.22

태태개발일지 - Spring?

Spring이 왜 위대한가? 이 부분에서는 기존에 항해 + 99 에서 배웠던 클린 레이어드 아키텍쳐를 사용했던 이유와 아주 유사하다.우선 가장 간략하게 설명하면 "객체지향 적으로 만들어 주기 때문" & "DIP와 OCP를 만족시켜 주기 때문" 이라고 설명을 할 수 있다. 이게 무슨소리인지 알아보자. 객체지향에서는 다형성이 굉장히 중요하다. 예를 들면 public class Animal{} 부모 클래스인 Animal이 있다.그리고 부모 클래스를 상속 받은 Dog와 Cat이 있다고 가정하자. public class Dog extends Animal {}public class Cat extends Animal {} public Use{ Animal animal = new Dog(); } 다음과 같이 Dog를 ..

Spring 2024.09.20

태태개발일지 - Controller계층 Test

단위별 테스트 작성 저번 글과 이어서 이번에는 Controller 계층에 테스트를 진행시켜보도록 하겠다.import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers..

Spring/Test 2024.06.09

태태개발일지 - Service 계층 Test

단위별 테스트 작성 저번 글과 이어서 이번에는 Service 계층에 테스트를 진행시켜보도록 하겠다. package com.example.service.prag.user.service;import com.example.service.prag.user.domain.User;import com.example.service.prag.user.domain.UserRepository;import org.junit.jupiter.api.Test;import org.junit.jupiter.api.extension.ExtendWith;import org.mockito.InjectMocks;import org.mockito.Mock;import org.mockito.junit.jupiter.MockitoExtension..

Spring/Test 2024.06.09
반응형