Spring
-
Spring Boot Version 올리기 - feat. 순환 참조(Circular References)Spring/Spring Boot 2023. 8. 28. 08:47
이젠 놓아주자... Spring boot 3 가 드디어 출시 하였다 .. 라고 하기엔 좀됬다 ... Spring framework 5.0 을 이제 슬슬 놓아 줘야 하겠지만.. 아직 현장에는 Spring boot 1.x 버전도 돌아다니는곳이 많다. Spring boot 를 현재 2.1 버전으로 구축 되있는 영역을 버전을 높이기위한 준비를 진행 하기로 했다. 목표는 Spring boot 3 이 목표다 이유는 아래와 같다. 1) Spring boot 2.7 버전 지원이 몇년 남지 않았다. 2) Java 8 은 이제... 그만... 3) 라이브러리들의 호환성... 챙겨 보자 4) 프레임워크의 버전이 높아 짐에 따라 가져갈수 있는 안정성 일단 , 버전업을 하기전에 여러가지 검토가 필요하다. 버전을 어디까지 올릴수..
-
Spring boot - API 서버 만들기 ( ft. Kotlin ) - ( 2 )Spring/Spring Boot 2021. 9. 9. 10:45
이전 글에서 ( https://ellune.tistory.com/69 ) 간단하게 설정을 한상태에서 패키지 구성과 간단한 추가 환경 설정에 대해 기록할 예정이다. 패키지구성 자체는 사람마다 다 다른편이고 선호하는 방식도 각자 다르다. 개발자의 스타일이 나온다고 해야할까 ? 그렇기 때문에 정해진 정답은 없지만 지켜야할 몇가지 컨벤션들은 정해져 있다. 그중 내가 스스로 지키고 있는 컨벤션 몇가지를 나열하려고한다. 1) 대문자를 사용하지 않는다. 2) 최대한 명사 단위로 사용한다. 3) 모든 패키지는 서비스 단위 도메인별로 그룹핑한다. 4) 기본적인 controller , service ,repository 구성을 지킨다. 5) 데이터들은 domain 이란 패키지명을 이용하고 그안에서 vo , dto , en..
-
Spring boot - API 서버 만들기 ( ft. Kotlin ) - ( 1 )Spring/Spring Boot 2021. 8. 30. 11:07
코틀린을 사용하여 API 를 만드는 방법을 처음부터 하나하나 따져 기록 해놓으려고 한다. 이유는 막상 구축하려고했을때 중간중간 기억이 안나거나 헷갈리는 부분들이 존재 하기 때문에 처음부터 차근차근 기록하려고한다. 환경은 intellij 로 할것이고 jdk 설치나 이런건 생략 한다. Initializr 를 최대한 활용한다. 필요한 라이브러리들을 선택해준다. 화면에 표시된것 이외에 필요한게 있다면 더 선택해주면 된다. 이프로젝트는 단순 샘플용이고 JPA 기반에 단순한 기능들만 일단 만들것이기 때문에 별도로 다른것들은 선택하지 않았다. 선택하고나면 새로운 창으로 띄울것인지 물어볼것이고 프로젝트가 열리면 기본적으로 intellij 에서 gradle 프로젝트 세팅을 짧게 진행한다. 처음 해줘야 할것은 일단 환경 ..
-
Spring boot 시작하기Spring/Spring Boot 2020. 3. 20. 18:49
국내에선 자바개발자 = 스프링개발자 라고 할정도로 공식화 되있다. 나도 자바개발자 이며 스프링 개발자 이고 저말에 딱히 부인 하지 않는다. 회사를 다니면서 신입들을 만날때도 있고 가끔 강의를 나가면 자바개발자가 되려면 어떻게 해야할지 등 이젠 나도 나이가 있다보니 교육(?) 을 해주거나 약간의 주제넘은 조언을 해줘야 하는 경우가 점점 잦아 지고 있다. 그럴때마다 머리속을 검색해서 순서가 뒤죽박죽인 내용들을 공유 해주다보니 항상 후회가 남곤한다. 좀 정리해서 전달 해줄수 있다면 좋았을거 같은데 하고 말이다... 그래서 이렇게 글을 하나 작성해 두고 줄기차게 우려먹으려 한다. 신입들 그리고 대학생들 혹은 자바개발자가 되고 싶은 비전공자들을 위한 간략하고 알찬(?) 입문 글을 한번 작성해보겠다 ! 첫걸음. 스..
-
Spring boot Database 다중 연결 ( feat.Jooq )Spring/Spring Boot 2019. 10. 28. 09:12
이전에 블로그에 spring boot 로 여러개의 데이터베이스를 연결하는걸 작성한적이 있다. 어떤 서버든 개인적으로는 하나의 데이터베이스만 접근해서 사용하는게 좋다고 생각하지만 ( MSA 스럽지 못하다! ) 어쩔수 없이 여러 데이터베이스의 정보를 가져와야 하는경우가 생긴다. 가령 이곳저곳 데이터를 수집하는 경우라면.... API 로 제공 받아서 연동하는게 가장 best 한 case 가 되겠지만 지금 상황(?) 상 api 를 제공 받지 못하는 상황이라면 직접 데이터베이스에 접근해야만 하는 상황이 생겼다. 이전 글( https://ellune.tistory.com/4?category=769021) 에서 여러개를 설정하는 방법을 찾았지만 문제가 생겼다. 1. 이전글에서는 mybatis 를 사용 하고 있다. 하..
-
Spring boot vs Spring FrameworkSpring/Spring Boot 2019. 8. 7. 08:01
현재 대다수의 기업에서는 spring boot 를 많이 사용 하고 있다. 그리고 대부분의 spring framework 는 학원이나 기존 회사의 레거시 시스템 혹은 학교에서 많이 사용 되는것으로 알고 있다. 그럼 둘사의 차이가 무엇인지 남기고자 한다. Spring framework 보다 간단해진 설정 난 2.5 버전부터 사용했었고 현재는 5.0 버전이 나와있다. 스프링 프레임워크의 가장 대표적인 단점은 xml 지옥이다. 모든 설정은 xml 로 사용 했고 실제로 applicationContext.xml 이외에 mybatis, log4j , 프로필별 xml 등 설정을 위한 작업이 대다수였고, 노하우가 없는 사람은 최대 설정만 반나절, 심한경우는 하루 종일 하는 경우도 보았다. 그래서 스프링은 어렵다라는 인식..
-
Logback - 특정 이름별로 로그 분리 하기Spring/Spring Boot 2019. 6. 26. 10:37
Logback 이 로그 파일을 쌓는 방식을 기본적으로는 패키지 명이나 로그 레벨 단위로 나누거나 하는 경우가 많다. 이번에 특이하다고 하긴 그렇지만 특정 이름별로 로그를 분리 할 이유가 생겼다. 여러가지 구글링을 해봤지만 앞서 말한 방식들로 대두분 이야기하고있었다. 나에게는 당장 그렇게 필요하지 않는 부분이여서 구글링능력 부족(?)을 한탄하며 그냥 기억나는대로 세팅을 했다. log/connection-%d{yyyy-MM-dd}.%i.txt.zip 100MB %d{HH:mm:ss.SSS}-%green(%-5level)-%logger{36} - %msg%n log/config-%d{yyyy-MM-dd}.%i.txt.zip 100MB %d{HH:mm:ss.SSS}-%green(%-5level)-%logger{..
-
Spring CloudSpring/Spring Boot 2019. 3. 25. 18:10
Spring boot 를 쓰면서 Spring cloud 에 대한 관심이 아주 높아 졌다. 뭔가 편하게 서포팅 해주려는 의도가 아주 명확하게 잘 들어난 기능이라고 생각한다. 그래서 생각한건 그렇다면 Spring cloud 에서 내가 관심있게 볼만한것들은 무엇이 있을까 하는 것이다. 공식 사이트가 가면 다양한 기능 들이 보인다. (https://spring.io/projects/spring-cloud) 그중 내가 마음에 드는것만 선별 해서 기록하려고한다. 내가 여태 경험했던 것들과 대조해서 앞으로도 사용 할법한것들이나 사용해보고 싶은것들을 정리해놓고 하나하나 시도 해보고 싶다. -Spring Cloud Config git 저장소를 이용하여 설정 리소스를 Spring 에서 자동 매핑하여 반영하는 기능으로 보인..