스프링의 @Cacheable과 @Transactional은 spring AOP를 기반으로 동작하기 때문에 같은 Bean내에서는 동작하지 않는다!! 은근 개발하다보면 놓치게 되는 부분ㅠ 왜 안되는거지 하고... stackoverflow 참조(링크) The aspect is applied to a proxy surrounding the bean. Note that everytime you get a reference to a bean, it's not actually the class referenced in your config, but a synthetic class implementing the relevant interfaces, delegating to the actual class and addi..
http://localhost:8080/test?param=1,2,3 > 이런 식으로 parameter를 list로 받고 입력 안 받는 것도 가능하게 싶었다 역시 시작은 나의 스승 구글에서 찾아보았고 결론적으로 말하면 @GetMapping("/test") public String multiParam(@RequestParam(value="param", required=false, defaultValue="") List params) { ... } 이런식으로 해결했다 @RequestParam에서 value는 뭐 optional한거고 required=false는 입력하지 않는 옵션을 위해 넣었고 defaultValue=""는 저게 없으면 입력할 parameter가 없을 때 http://localhost:808..
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 6.1 소개 6.2 @Component - 스프링 빈 식별하기 @Component 타입 수준의 애너테이션 이다 클래스가 스프링 빈을 표현한다는 사실을 나타냄 애플리케이션에서는 컨트롤러, 서비스 . 데이터 접근 객체(DAO)에 따라 특별한 @Component를 사용하도록 권장한다 @Controller, @Service, @Repository 애너테이션은 @Component로 메타 애너테이션되어 있음 @Component, @Controller, @Service, @Repository 은 스프링 컨테이너에 빈을 어떤 이름으로 등록할지 지정하는 value 속성을 받는다 엘리먼트의 id 속성과 같은 역할 ..
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 1. 소개 빈에 커스텀 초기화와 정리(파괴) 로직을 넣는 방법 스프링 BeanPostProcessor 인터페이스를 구현해 새로 생성된 빈 인스턴스와 상호 작용하는 방법 스프링 BeanFactoryPostProcessor 인터페이스를 구현해 빈 정의를 변경하는 방법 2. 빈의 초기화와 정리 로직 커스텀화하기 2.1 destory-method 속성에 지정한 정리 메서드 호출하기 스프링의 ConfigurablrApplicationContext(ApplicationContext)의 하위 인터페이스에는 JVM에게 종료 훅을 등록할 수 있는 registerShutdownHook 메서드가 들어있다 종료 훅은 ..
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 2. 내부 빈 스키마에 정의된 을 사용해 나 엘리먼트 내부에 정의한 빈 빈 의존 관계를 여러 빈이 공유하지 않는다면 의존 관계를 내부 빈으로 만드는 것을 고려할 수 있다 내부 빈은 해당 빈 정의를 둘러싸고 있는 빈 정의 안에서만 접근할 수 있다 내부 빈 정의에 해당하는 엘리먼트는 id 속성을 지정하지 않고 지정해도 무시된다 내부 빈은 항상 프로토타입 스코프 빈이기 때문에 scope 속성이 있어도 무시된다 내부 빈은 무명이다 스프링 util 스키마 엘리먼트를 , 엘리먼트 내에서 바로 사용하는 것도 가능하다 3. depends-on 속성을 통해 빈 초기화 순서 제어하기 와 를 통해 명시작으로 빈 의존..
프로젝트 실행은 문제 없는데 아래와 같은 메세지와 함께 실행과 동시에 종료되어 버림 2021-07-06 21:10:39.713 INFO 12914 --- [ main] com.demo.DemoApplication : Started DemoApplication in 21.268 seconds (JVM running for 26.635) 2021-07-06 21:10:39.718 INFO 12914 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2021-07-06 21:10:39.720 INFO 12914 --- [ionShu..
IntelliJ 2019.3 버전에서 스프링 프로젝트를 gradle로 빌드시 Failed to notify build listener. > org.gradle.api.artifacts.result.ComponentSelectionReason.getDescription()Ljava/lang/String; 와 같은 오류가 나서 스택오버플로우를 찾아보니 distributionUrl을 바꿔보라 해서 시도했지만 실패하고 2021.1 버전으로 갈아타니 오류가 나지 않았다 참고 : https://stackoverflow.com/questions/67569295/intellij-idea-gradle-error-failed-to-notify-build-listener
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 1. 소개 이 장에서 다루는 내용 빈 정의 상속 빈 클래스의 생성자 인수를 찾는 방법 원시 타입(int, float 등)이나 컬렉션 타입(java.util.List, java.util.Map 등) 또는 사용자 정의 타입(Address 등)을 사용해 빈 프로퍼티나 생성자 인수를 설정하는 방법 빈 프로퍼티에 p-이름공간(namespace), 생성자 인수에 c-이름공간을 활용해서 XML 파일을 좀 더 간결하게 만든느 방법 빈 인스턴스를 생성하는 팩토리 클래스를 작성할 때 사용하는 스프링 FactoryBean ㅣㅇㄴ터페이스 빈 설정 모듈화하기 2. 빈정의 상속 2.1 빈 정의 상속 예제 애플리케이션의 여..
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 2. '인터페이스를 사용하는 프로그래밍' 설계 원칙 긴밀한 결합(coupling) : 의존 중인 클래스가 의존 관계의 구체적인 클래스를 직접 참조 의존 관계의 구현을 변경하려면 의존 중인 클래스도 변경해야한다 자바 인터페이스는 구현 클래스가 준수해야 하는 계약을 정의한다 클래스가 의존 관계를 구현하는 인터페이스에 의존한다면 해당 의존 관계의 구현을 변경하더라도 의존 중인 클래스를 변경할 필요가 없다 인터페이스를 사용하는 프로그래밍(programming to interface) 의존 중인 클래스가 의존 관계가 구현하는 인스턴스로 의존성을 만드는 설계 원칙 느슨한 결합을 만든다 의존 관계 인터페이스에..
- Total
- Today
- Yesterday
- Spring
- 자바스크립트
- docker
- java
- kotlin
- 도커
- 쿠버네티스
- docker for mac
- cacheable
- IntelliJ
- JavaScript
- 스프링부트
- ddd
- gradle
- linuxkit
- gasmask
- QuickTimePlayer
- 도메인주도설계
- Kubernetes
- docker pull limit
- clean code
- kotlin In Action
- 코틀린
- 클린코드
- ImagePullBackOff
- back merge
- k8s
- springboot
- 자바
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |