파란하늘의 지식창고
article thumbnail
Spring Boot project STS에서 열어보기
Study/Java 2022. 5. 26. 10:40

Spring Boot 소스 보기 Spring의 소스들은 현재 github에 공개되어 있다. 가끔 source jar로 보는 게 아닌 현재 사용하려는 최신 릴리즈(지금의 경우 Spring Boot 2.7.0)의 모든 소스를 보고 싶은 경우가 있다. git 주소를 가져와 STS git repository에 추가하면 main branch를 가져오는데 main branch의 경우 계속 개발이 추가되고 있고 현재 시점에서 2.7.0 다음 버전이 개발 중이다. 따라서 지금 spring boot main branch를 가져오면 개발 중인 3.0.0-SNAPSHOT을 보게 된다. Spring Boot의 경우 각 버전을 releaase 할 때마다 tag를 이용해 표시해둔다. Github Spring Project의 Sp..

Spring Boot 2.7 Release Notes
Study/Java 2022. 5. 20. 08:15

전체 Release Notes 목록은 이 곳에서 확인할 수 있습니다. https://luvstudy.tistory.com/tag/Release%20Notes https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.7-Release-Notes Upgrading from Spring Boot 2.6 @SpringBootTest Property Source Precendence properties attribute 또는 @TestPropertySource annotation을 사용하여 @SpringBootTest 가 추가한 test property source가 이제 command line property source 위에 추가되었습니다. (동일한..

Spring Framework 보안 업데이트 권고 (CVE-2022-22965, CVE-2022-22963)
Study/Java 2022. 4. 4. 08:19

Spring Framework 취약점 관련 보안 업데이트 권고 관련 보안 공지가 3월 31일 올라왔다. https://krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=66592 취약점은 2가지인데 CVE-2022-22965, CVE-2022-22963이다. CVE-2022-22965 (Spring4Shell) CVE-2022-22965는 Spring Core에서 발생하는 원격코드 실행 취약점이다. https://tanzu.vmware.com/security/cve-2022-22965 해당 경우가 발생하는 전제 조건은 다음과 같다. JDK 9 or higher Apache Tomcat as the Servlet container Packaged ..

Spring Data JDBC는 현재 쓸 만할까?
Study/Java 2022. 3. 17. 08:52

2년 반쯤 전에 Spring Data JDBC를 살펴보면서 Data JPA를 대체할 수 있을지 고민해보았었다. 2019.07.28 - [Study/Java] - Spring Data JDBC로 Spring Data Jpa를 대체할 수 있을까? 시간이 흘렀고 기존에 살펴보았던 Spring Data JDBC 1.0.9.RELEASE도 현재 2.3.2 버전으로 판올림 되었다. 현재 버전의 Spring Data JDBC가 사용할만한지 살펴보았다. Spring Data JDBC란? Spring Data JDBC는 데이터와 java object를 연계하기 위해 제공되는 Spring Data의 라이브러리 중 하나이다. (DB를 연결하여 사용하기 위해 제공되는 Spring JDBC와 다른 라이브러리이다.) Spring..

Spring MVC에서 video streaming 하기
Study/Java 2022. 2. 25. 10:23

Spring에서 mp4 동영상 같이 용량이 큰 파일을 내려보내 주려면 어떻게 해야 할까? 파일 읽어 들이고 내보내기 요청에 대해 응답으로 데이터를 내보내야 한다. 자바에서는 데이터를 InputStream으로 가져와서 OutputStream으로 내보낸다. 최상위인 InputStream과 OutputStream 추상 클래스를 extends 한 여러 class를 java.io package에서 제공하는데 대략 다음과 같다. InputStream OutputStream BufferedInputStream BufferedOutputStream ByteArrayInputStream ByteArrayOutputStream DataInputStream DataOutputStream FileInputStream File..

article thumbnail
JDK LTS release 2년 주기 전환 및 Spring의 release 정책
Study/Java 2022. 1. 12. 16:01

JDK version Java SE 5 이전 자바는 JDK 1.0, JDK 1.1, J2SE 1.2, J2SE 1.3, J2SE 1.4처럼 1.x로 버전을 관리하였다. 이후 6, 7, 8과 같은 숫자로 변경이 되었는데 이때 이후 각 버전 별 업데이트가 계속 올라가게 된다. (관련 히스토리는 너무 길어 링크로 대체함) https://namu.wiki/w/Java/%EB%B2%84%EC%A0%84%20%EC%A0%95%EB%B3%B4 각 버전 별 업데이트 관리를 해야 하는 부담이 커지자 오라클은 상용과 오픈소스를 나누기로 하고 openjdk와 oraclejdk를 분리하고 6개월 주기로 major 버전을 변경하고 3년 주기로 LTS (Long Term Support) 버전을 관리하기로 하였다. 이에 대해서는 ..

Spring Boot 2.6 Release Notes
Study/Java 2021. 11. 23. 14:28

전체 Release Notes 목록은 이 곳에서 확인할 수 있습니다. https://luvstudy.tistory.com/tag/Release%20Notes https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.6-Release-Notes Upgrading from Spring Boot 2.5 Deprecations from Spring Boot 2.4 Spring Boot 2.4에서 더 이상 사용되지 않는 class, method 및 properties가 이번 release에서 제거되었습니다. upgrade 하기 전에 더 이상 사용되지 않는 method를 호출하지 않는지 확인하세요. Circular References Prohibited ..

article thumbnail
Spring Boot에서 Resilience4j 사용해보기
Study/Java 2021. 9. 9. 10:14

공부하면서 기록한 내용 Spring Boot와 Resilienct4j에 대한 내용만 살펴봄 Hystrix -> Resilience4j로 변경되는 이유 Netflix OSS 제품군의 다양한 프로젝트들을 Spring에서 사용하기 위해 Spring 진영에서는 Spring Cloud Netflix 프로젝트를 제공하였다. Netflix는 Hystrix, Ribbon, Turbine, Zuul과 같은 다양한 라이브러리를 공개하여 웹서비스의 장애 대응, 서비스 분산에 대한 좋은 대안들을 제시하였고 많이 쓰였다. 하지만 2018년에 Netflix가 ribbon, hytrix를 유지관리 모드 (maintenance mode, 새로운 기능을 추가하지 않고 버그 및 보안 문제만 수정)로 더 이상 개발하지 않는다고 발표하면서..