일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 프로토타입
- vuex
- Stateless
- 싱글톤
- js
- javascript
- JPA
- dependency injection
- VUE
- 라이프 사이클
- 캐시
- Excel
- cache
- Repository
- Kotlin
- 의존성 주입
- Security
- 로그인
- BEAN
- Java
- di
- Singleton
- DB
- Setter
- vue-cli
- Vue.js
- HTTP
- thymeleaf
- HTTP 메서드
- Spring
- Today
- Total
목록Spring (44)
jhhan의 블로그

이번 포스트에서는 Spring boot에서 로그 파일을 남겨보는 방법 중 한 개를 알아보려고 합니다.(정말 오랜만에 정리해보는 Spring boot 관련 포스트입니다.) 참조 : https://cl8d.tistory.com/96 [Spring] 에러 로깅하기 - Logback을 사용해서 ERROR 레벨만 파일로 로그를 남겨보자!🌱 들어가기 전 이번 장바구니 미션에서는 프론트 크루들과 협업을 해야 했기 때문에 앞으로 에러 로그를 볼 일이 많아질 것 같다고 생각했다. 배포 스크립트를 작성하면서 스프링이 띄워질 때cl8d.tistory.com 아래에서 진행하는 내용들은 모두 vscode 기준으로 진행합니다.Spring boot version : 3.1.11java version : ..

오랜만에 블로그 작성을 해봅니다. 이번에는 Spring Boot 설정 시 template 부분을 읽어오는 방법을 알아보겠습니다. 사실 이 부분은 크게 신경을 쓰지 않았습니다. 설정하지 않아도 잘 되길래 원래 그런가보다 한거죠. 근데 프로젝트를 단순하게 설정하면 그렇지 않더군요. 자세히 알아보겠습니다. spring boot 프로젝트를 하나 만듭니다.(과정 생략) 그리고 그 결과 build.gradle 파일은 다음과 같다고 하겠습니다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' developmentOnly 'org.springframework.boot:spring-boot-devtools' testImple..

오랜만에 다시 써봅니다. (오랜만에 작성하는 블로그여서 저번에 뭘 썼는지도 잊었습니다...) 지난번 포스트에서는 프로토타입과 싱글톤 타입을 함께 쓸 때 나타날 수 있는 문제점에 대해 알아봤는데, 이번에는 이에 대한 해결법을 알아보겠습니다. 일단 지난번에 다뤘던 문제는 싱글톤 빈 생성 싱글톤 빈이 주입받을 때 프로토타입 빈이 주입 그래서 프로토타입 빈이지만 싱글톤 처럼 작동 이런 문제가 있었습니다. 우리는 싱글톤 빈이 있더라도 프로토타입 빈의 성격을 가진 것을 사용하고 싶다는 것이죠. 그럼 가장 단순하게 생각하면 되죠! 바로 → 싱글톤 빈이 프로토타입 빈을 사용할 때마다 스프링 컨테이너에 새로 요청하는 것입니다. @Test void providerTest() { AnnotationConfigApplicat..

이번 포스트에서는 프로토타입과 싱글톤타입이 같이 쓰이는 경우에 대해서 알아보겠습니다. 이전 포스트에서 프로토타입에 대해서 다뤘습니다. 하지만 실무에서는 보통 싱글톤과 프로토타입이 같이 쓰이는 경우가 많다고 합니다. 그러면 아마도 문제가 생길 경우가 있을 것입니다. 그에 대해 알아보겠습니다. 먼저 프로토타입에 대해 한번 복습해봅니다. scope 패키지 밑에 SingletonWithPrototypeTest1.java를 생성합니다. import org.assertj.core.api.Assertions; public class SingletonWithPrototypeTest1 { @Test public void prototypeFind() { AnnotationConfigApplicationContext ac ..

오랜만에 글을 써봅니다. 이번 포스트에서는 빈 스코프에 대해서 알아보겠습니다. 지금까지는 빈 스코프에 대해서 '싱글톤'으로 한정지어서 계속 진행했습니다. (스프링 빈이 기본적으로 싱글톤으로 생성됨) 하지만 빈 스코프는 싱글톤만 있지 않습니다. 일단 종류를 알아보겠습니다. (많이 쓰이는 것들을 알아보겠습니다.) 싱글톤 : 기본 스코프, 스프링 컨테이너의 시작부터 종료까지 유지되는 가장 넓은 범위 프로토타입 : 빈의 생성, 의존관계 주입, 초기화만 하고 그 이후는 관리하지 않음 웹 관련 스코프 request : 웹 요청이 들어오고 나갈 때까지만 유지되는 스코프 session : 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 application : 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 이렇..

이전 포스트에서 말한대로 빈 생명주기 콜백을 지원하는 3가지 방식에 대해 알아보겠습니다. 스프링은 크게 3가지 방식으로 빈 생명주기 콜백을 지원합니다. 인터페이스(InitializingBean, DisposableBean) 설정 정보에 직접 추가 애노테이션(@PostConstruct, @PreDestroy) 1. 인터페이스(InitializingBean, DisposableBean) 인터페이스를 이용하는 방식입니다. 먼저 NetworkClient 클래스입니다. public class NetworkClient implements InitializingBean, DisposableBean { private String url; public NetworkClient() { System.out.println("..

이번 포스트에서는 빈 생명주기에 대해 알아보겠습니다. 애플리케이션의 시작 시점 데이터베이스 연결, 외부 연결 등 필요한 연결 관계를 미리 작업 - 초기화 작업 애플리케이션의 종료 시점 연결 관계들을 잘 종료(소멸) 애플리케이션의 시작과 종료에서는 위와 같은 설정이 필요합니다. 이런 설정을 스프링을 통해서 진행하는 것을 해볼 예정입니다. 단순하게 외부와 연결하는 어떤 모듈이 있다고 가정합니다. (여기서는 그냥 String만 이용해서 이렇게 진행될 것이다.. 라고 해보겠습니다.) 위의 구조처럼 lifecycle 패키지 밑에 NetworkClient 클래스와 BeanLifeCycleTest 클래스를 만들어둡니다. public class NetworkClient { /** * 2021.08.16 * BeanLi..
이번에는 스프링 빈의 자동 & 수동 등록에 대해서 다뤄보겠습니다. 이번 포스트 역시 번외입니다. 스프링 빈의 자동, 수동 등록을 어떻게 해야할까에 대한 내용을 다룰 것이고, 이 포스트야말로 정말 크게 중요하지 않을 수 있습니다. 그리고 자동, 수동 등록의 경우 업무 수준에서는 어떻게 동작할 지 회사마다 기준이 있을 겁니다. 그렇기 때문에 가벼운 마음으로 읽어주시면 될 것 같습니다. 요즘 추세는 아무래도 자동 등록을 선호하고 사용하는 것이 트렌드인 것 같습니다. 사실 설정 정보를 바탕으로 명확히 나누는 것이 바람직하지만, 수동 등록의 경우 @Configuration, @Bean, 객체 생성 등의 코드를 일일이 다 적어줘야 합니다. 이 부분은 개발자의 입장에서는 굉장히 번거롭습니다. 그리고 수백개가 될 수도..