본문 바로가기

SpringBoot

SOLID 원칙 SOLID의 다섯가지 원칙은 시간이 지나도 유지보수와 확장이 용이하고, 이해하기 쉽고 유연한 소프트웨어를 만들기 위한 객체 지향 설계 원익의 모음입니다1. Single Responsibility Principle(단일 책임 원칙)클래스는 단 하나의 책임만 가져야 한다. 말 그대로 클래스에는 단 하나만의 책임을 가지고 있도록 설계해야 합니다. 아래와 같이 직원이 정보관리, 급여 계산, 저장, 생성 등 많은 책임을 가지게 설계해서는 안됩니다오케이 이런 규칙이 있다는것은 알겠는데 이런 규칙이 왜 필요할까요?1. 높은 유지보수, 코드의 이해 및 가독성 향상2. 쉬운 테스트와 디버깅3. 연쇄 효과 최소화 (Reduced Coupling): 한 클래스의 변경이 다른 연관된 클래스들의 수정을 유발하는 '폭포 효과(R.. 더보기
[트러블 슈팅] spring swagger 버전 이슈 ControllerAdviceBean 문제. Spring 에서 Swagger 사용시 500에러 발생 Spring에서 swagger를 다운 받아서 사용하려하였으나 아래와 같이 에러 발생[Handler dispatch failed: java.lang.NoSuchMethodError:'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'] with root cause 원인.조금 찾아보니 에러핸들링을 위해 사용한 @RestControllerAdvice와 함께 사용해서 충돌이 발생 했다고 한다.그래서 주석을 하고 돌려보면 잘 동작 하는것을 확인했는데 이건 올바른 해결 방법이 아니라고 생각 했습니다. 조금 더 구글링을 해보니. 아래와 같은 글을 찾을 수 있었습니다. 현.. 더보기
Spring 기초 - 1 오랜만에 작성하는 블로그같습니다. 그동안 알고리즘 공부한다고 머리 집어뜯으면서 했었는데, 간만에 강의만 보니까 편안하네요... Spring vs Spring bootSpring은 기능이 많은 만큼, 개발자가 앱을 실행하기 위해서 필요한 설정이 많았는데,Spring boot는 이런 초기 설정을 자동으로 처리해주는 도구 이다. 자주 사용되는 설정을 미리 정리하고 이를 바탕으로 앱을 구성을 해주기때문에 설정없이 바로 개발을 시작할 수 있다는 장점이있습니다.사실 요즘 Spring이라고 한다면 대부분 Spring이 아니라 Spring boot를 뜻하는 것이라 생각하면 될거같습니다. 라이브러리(Library)라이브러리란, 개발에 필요한 클래스, 함수 등을 모아 놓은 코드의 모음을 의미. 쉽게말해서 내가 개발할때 필.. 더보기
의존성 주입 해보기 (DI) 오늘은 시간이 없어서 간단하게 TIL을 작성 해 보겠습니다. List productList = new ArrayList(); //1. 제품을 하나하나 객체로 만들어서 전체 리스트 객체로 집어넣는다. Product product1 = new Product(1,"Galaxy S25" , 1200000 , "최신 안드로이드 스마트폰" ,100); Product product2 = new Product(2,"iPhone 16" , 1350000 , "Apple의 최신 스마트폰" ,50); Product product3 = new Product(3,"MacBook Pro" , 2400000 , "M3 칩셋이 탑재된 노트북" ,100); Product product4 = new Pr.. 더보기