![[Spring] Parameter 0 of constructor in xxx required a bean of type 'xxx' that could not be found.](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbcQEph%2FbtsMYqQ4TLu%2FAAAAAAAAAAAAAAAAAAAAAKnZSvnuPmBKnsJdnhEIqnMTRk0jLejTYyUVefZ86kpB%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D94%252Bdz5GBk4c8tXCnE4JT9kHdXpg%253D)
문제 상황1년전에 만들고 쳐다도 안본 프로젝트를 리팩토링하려고 베이스 패키지를 수정하다가 Parameter 0 of constructor in com.seungwook.r2r.service.IngredientService required a bean of type 'com.seungwook.r2r.repository.IngredientRepository' that could not be found. 이 오류를 만나게 되었다.기존 패키지 구조는 com.receipt2recipe 에서 com.seungwook.r2r로 바꾸었더니 "IngredientService는 IngredientRepository가 필요한데 못찾겠다." 라고 오류를 뿜고있었고, IngredientRepository는 분명히 존재하고 패키..
![[Java] 추상클래스와 인터페이스 차이점](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F0w723%2FbtsMWvGjhQF%2FAAAAAAAAAAAAAAAAAAAAAGaIhAfcE2nDyW0KFLHQuu5LJGVDOdw6bB6tKXtsefDm%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dib0FYiK5E2f343AD6GC1SxYHjNo%253D)
원본글 출처 : 바로가기 ☕ 인터페이스 vs 추상클래스 용도 차이점 - 완벽 이해인터페이스 vs 추상클래스 비교 이 글을 찾아보는 독자분들은 아마도 이미 인터페이스와 추상클래스 개념을 학습한 뒤에 이 둘에 대하여 차이의 모호함 때문에 방문 했겠지만, 그래도 다시한번inpa.tistory.com 추상 클래스상속 받을 클래스들이 공통으로 가지는 메소드와 필드가 많아 중복 멤버 통합을 할때멤버에 public 이외의 접근자(protected, private) 선언이 필요한 경우non-static, non-final 필드 선언이 필요한 경우 (각 인스턴스에서 상태 변경을 위한 메소드가 필요한 경우)요구사항과 함께 구현 세부 정보의 일부 기능만 지정했을 때하위 클래스가 오버라이드하여 재정의하는 기능들을 공유하기 위..
![[java] 백준 2023번 문제(신기한 소수)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdgqyRv%2FbtsMVxxn2nh%2FAAAAAAAAAAAAAAAAAAAAAMcCPgaAZwadrUIYRqsHjAHslIWHlsHWSoyfaQ2N3LZO%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dpc9VgVwRjW4deI7el8BbAsSlF0U%253D)
원본 링크 : https://www.acmicpc.net/problem/2023문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Boj_2023{ static int n; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(br.readLine()); DFS(2, 1); ..
![[java] 백준 11724번 문제(연결 요소의 개수)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FuNzSX%2FbtsMWsa20zK%2FAAAAAAAAAAAAAAAAAAAAANEJU1JfF7oxnPuvMSnXpqbh3SEY8kC64Pqn4UiMl7R9%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252Bbftpmeupqfn%252FrReahlA9EOnLPc%253D)
원본 링크 : https://www.acmicpc.net/problem/11724문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.StringTokenizer;public class Boj_11724{ static ArrayList[] adjacencyList; // 인접 리스트 static boolean[] visited; // 방문 체크 public static void main(String[] args) throws IOException { BufferedRea..
![[Java] 정규 표현식 클래스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbqSOs3%2FbtsMWl3EUwe%2FAAAAAAAAAAAAAAAAAAAAAKH-y1NGKREPfWdTLk_tbjNMhhJ9R_JU82aA8KIIKiSE%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DXdSg7HlNCXmeF45kLy7bxfNFv1E%253D)
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 정규 표현식 클래스문자열이 정해져 있는 형식으로 구성되어 있는지 검증해야 하는 경우가 있다. 예를 들어 이메일이나 전화번호를 사용자가 제대로 입력했는지 검증할 때이다. 자바는 정규 표현식(Regular Expression)을 이용해서 문자열이 올바르게 구성되어 있는지 검증한다. 정규 표현식 작성 방법정규 표현식은 문자 또는 숫자와 관련된 표현과 반복 기호가 결합된 문자열이다.아래는 정규 표현식을 구성하는 표현 및 기호에 대한 설명이다. 다음은 02-123-1234 또는 010-1234-5678과 같은 전화번호를 위한 정규 표현식이다.// 02-123-1234 형태"^02-\\d{3}..
![[Java] 형식(Format) 클래스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbPqg8R%2FbtsMUqkZYx5%2FAAAAAAAAAAAAAAAAAAAAAGI05vUxPEeJSBroau3WjNu8gBF70iLhIZx0AH5_bcke%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dn2TjjwjUffKTNW3xwAQkCOVvAAc%253D)
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 형식 클래스Format(형식) 클래스는 숫자 또는 날짜를 원하는 형태의 문자열로 변환해주는 기능을 제공한다. Format 클래스는 java.text 패키지에 포함되어 있는데, 주요 Format 클래스는 다음과 같다. DecimalFormatDecimalFormat은 숫자를 형식화된 문자열로 변환하는 기능을 제공한다.원하는 형식으로 표현하기 위해 아래와 같은 패턴을 사용한다. 패턴 정보와 함께 DecimalFormat 객체를 생성하고 format() 메소드로 숫자를 제공하면 패턴에 따른 형식화된 문자열을 얻을 수 있다.import java.text.DecimalFormat;public ..
![[java] 퀵 정렬(Quick Sort)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FplV5Z%2FbtsMVSUs7W7%2FAAAAAAAAAAAAAAAAAAAAABn6MXR68NED56EJj95CbrTrRwzZgs1wc74HS7npHGuh%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DbOOIIGxS73oN035HNZ2K46%252BnY3c%253D)
퀵 정렬은 피벗을 선정해 해당 값보다 작은 데이터와 큰 데이터로 분류하는 것을 반복해 정렬하는 알고리즘이다.피벗이 어떻게 선정되는지가 시간 복잡도에 많은 영향을 미치고, 평균적인 시간 복잡도는 O(nlogn)이다. 퀵 정렬 핵심 이론피벗을 중심으로 계속 데이터를 2개의 집합으로 나누면서 정렬하는 것이 퀵 정렬의 핵심이다.피벗보다 작으면 왼쪽, 크면 오른쪽으로 정렬하면 된다.① 데이터를 분할하는 pivot을 설정한다(위 그림의 경우 가장 오른쪽 끝을 pivot으로 설정).② pivot을 기준으로 다음 a~e 과정을 거쳐 데이터를 2개의 집합으로 분리한다.②-a: start가 가리키는 데이터가 pivot이 가리키는 데이터보다 작으면 start를 오른쪽으로 1칸 이동한다.②-b: end가 가리키는 데이터가 p..
![[java] 백준 1377번 문제(버블 소트)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FpgZfu%2FbtsMQEJ5tmQ%2FAAAAAAAAAAAAAAAAAAAAABW9fyE4J8nck2pTtlOEf1wIPQOF-zZmU_v2VXNuk507%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DukspDlu63fHthvGquSJeq5vy8%252Fw%253D)
원본 링크 : https://www.acmicpc.net/problem/1377문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Boj_1377{ // 정렬 전 인덱스와 값을 저장하는 객체 static class Pair implements Comparable { int index; // index 저장 int value; // value 저장 // 생성자 Pair(int index, int value) { this...