목록분류 전체보기 (148)
IT 성장일기

BeanDefinitionStoreException이 발생하는 이유 BeanDefinitionStoreException은 스프링 컨테이너가 bean을 등록할 때 발생합니다. xml파일 등 bean을 관리하는 파일에서의 구문에 오류가 있거나 xml 형식에 오류가 있는 경우 가장 많이 발생합니다. 빈을 생성하기 위한 class 파일이 누락되어 있는 경우에도 발생합니다. context.xml 파일에서 bean을 정의할 때 Globals.properties 파일에서 전역변수를 가져와 값으로 매핑하는데, Globals 파일에 해당 변수가 선언되어 있지 않아 발생한 경우였습니다. bean을 정의하고 생성하는 과정에서 오류가 존재하여 발생하는 예외이기 때문에 예외를 일으킨 파일과 관련된 부분을 살펴보고 문제를 해결할..

Spring Tool Suite4 설치하기 Spring Tool Suite4 (이하 STS)는 Spring Framework와 관련된 기능들을 제공하는 Eclipse 플러그인입니다. Spring Framework로 이루어진 애플리케이션을 더 쉽게 개발할 수 있도록 다양한 기능들을 제공하기 때문에 Spring 개발자들에게 필수적인 툴이라고 합니다. 본래 Eclipse 상에서 하나의 Perspective 처럼 사용할 수 있는 툴이지만 Eclipse와 독립적으로 설치하여 사용할 수도 있습니다. Eclipse에서 설치하기 1. 이클립스를 열고 Help > Eclipse marketplace 메뉴를 열어줍니다. 2. STS를 검색하고 Spring Tools 4와 Spring Tools 3 Add-On을 설치해줍니..

BeanCreationException 해결하기 BeanCreationException을 이렇게나 자주 보게 될 줄은 몰랐습니다. Globals.properties 파일부터 해서 관련 context 파일들까지 훑어봤지만 별 다른 이상한 점을 찾을 수 없었습니다. 이전에 해결했던 경험도 있고 해서 찾아봤지만 DB 접속과는 무관한 다른 원인인 것 같습니다. 혹시나 해서 프로젝트 Build Path를 확인해보니 라이브러리들을 인식하지 못하는 것 같았습니다. 이를 해결하기 위해 라이브러리를 다시 인스톨합니다. 프로젝트 우클릭 > Run As > Maven Install 문제 없이 잘 실행 되는 것 같습니다. 도움이 되어드렸다면 구독 / 좋아요 부탁드립니다.👏🏻 감사합니다.🙂

외부 JS 파일에서 Spring message 사용하기 외부 JS 파일에서는 스프링 메시지 사용이 불가능하더라구요... JSP 파일 내부에 씌여진 Script에서는 Spring messge를 사용하는데 아무런 지장이 없습니다. MessageSource파일에 아래와 같이 선언되어 있다면 code.name = Name code.code = Code 아래와 같은 방법으로 사용할 수 있습니다. var name = '' alert(name); alert(''); 위 두개의 alert 함수는 같은 값을 띄워줍니다. 하지만 JS 파일이 외부에 선언되어 있다면 컴파일 된 Spring message를 읽어내지 못해서 메시지 태그를 단순한 텍스트로 받아들입니다. 그래도 사용할 수 있는 방법이 있을 것 아니예요 이를 해결하..

다국어 지원 버전을 만들다가 만난 상황들 -2- 한국어 외 3개 국어를 지원하는 글로벌 버전 어플리케이션을 개발하다보니 이런 저런 상황을 다양하게 마주했습니다. 오늘 재미있는 경험을 해서 기록으로 남겨봅니다. 따옴표 조심하세요 기존에 오류 없이 잘 돌아가던 화면에서 갑작스럽게 오류가 발생해 원인을 찾아보았습니다. 오류 내용은 Uncaught SyntaxError.. 스크립트 부분에서 괄호나 따옴표가 제대로 된 쌍을 이루지 않았을 경우 자주 볼 수 있는 오류였습니다. 분명 해당 화면을 한국어나 일본어로 사용할 때는 이상이 없었는데 영어버전일 때에만 이 오류가 발생했습니다. 오류를 표시하는 해당 라인을 찾아보니 alert 함수에 다국어 메시지를 삽입한 부분이었습니다. 원인이 뭘까 곰곰히 생각해보다가 아차 싶..

다국어 지원 기능을 만들다가 만난 상황들 내부회계관리를 위한 어플리케이션의 다국어 지원을 위해서 벌써 2주일 넘게 작업중입니다. 작업 중 겪은 여러가지 상황들을 조금 정리하고 기록해놓고자 합니다... 스프링 메시지 태그 번들 만들기 전자정부 기반 프로젝트다보니까 이미 많은 것들이 기반으로서 구현되어있었고 저는 필요한 메시지번들을 제작해서 화면에 가져다가 바르기만 하면 되는 상황이었습니다. 처음 메시지 번들을 만들 때 메시지 태그의 작명 규칙과 분류 규칙에서 많은 고민이 생겼었는데 그 중 분류방식에 대해 많은 고민을 했던 것 같습니다. 어플리케이션 상의 업무 프로세스를 기준으로 분류할 것 인지 버튼, 텍스트, 알러트 팝업 등 메시지 태그가 사용 될 고유 위치를 기준으로 분류할 것 인지 말도 안되지만 가나다..

Annotation의 중요성을 느끼다 회사에서 서비스하는 어플리케이션의 유지보수나 서비스 확장성 면에서 유리한 조건을 만들기 위해 사수님과 함께 코드 리팩토링을 진행하기로 했습니다. 컨트롤러 부분에서 코드 리팩토링을 진행하다가 애너테이션은 그냥 있는 것이 아니라는 것을 느끼게 됐습니다. NullPointException 발생 코드가 많이 중복되는 클래스나 메서드가 여러개씩 존재하는 경우가 있었습니다. 문제가 발생한 클래스에 메서드 두개가 존재했습니다. 각각 별개의 클래스를 호출하는데 클래스를 호출하는 한줄의 코드 외엔 기타 모든 코드가 동일했습니다. 중복코드를 통합하고 서비스 로직만 분기시킨 후 테스트하고 콘솔의 로그를 확인했는데 NullPointException이 발생했습니다. 처음엔 정보를 가져오는 ..

SQL Server 서로 다른 데이터베이스의 테이블 구조 비교 DB를 마이그레이션 할 때 데이터를 옮겨 담기에 앞서 서로 다른 DB의 테이블 구조나 데이터 타입을 비교하여 일치시켜야 할 필요가 있습니다. 조건은 아래와 같습니다. DB_A와 DB_B가 존재함 각각 동일한 테이블이 존재함 (DB_A.dbo.TBL, DB_B.dbo.TBL) 각 테이블 id를 알고 있음 DB_A와 DB_B의 같은 테이블의 컬럼 구조를 비교하기 SELECT * FROM DB_A.dbo.syscolumns WHERE id='10101010' EXCEPT SELECT * FROM DB_B.dbo.syscolumns WHERE id='01010101' 테이블, 컬럼, 데이터 타입과 데이터 길이제한 조회하기 SELECT A.table_..

Eclipse 자동 스크롤 이동 방지하기 코딩을 하다 보면 코드가 너무 길어서 가로 스크롤이 생기는 경우가 있습니다. 스크롤을 오른쪽으로 이동시켜 코드를 수정하고 있으면 자꾸 스크롤이 왼쪽으로 되돌아가서 짜증을 유발하곤 합니다. 이런 현상을 방지하기 위해 아래 프로세스를 따라오시면 됩니다. 1. 환경설정 창 열기 Window > Preferences 2. Java 파일 Java > Editor > Folding Enable folding 체크를 해제해 줍니다. 자바 파일의 스크롤 움직임을 방지해 줍니다. 3. ETC. General > Editors > Structured Text Editor Enable folding 체크를 해제해 줍니다. 자바 이외의 파일 (html, jsp 등)에서 스크롤 이동을 ..

Eclipse, STS에 Lombok 간편하게 설치하기 Lombok? Lombok은 Annotation을 이용해서 DTO에 간편하게 Getter, Setter 및 생성자를 자동으로 생성해주는 플러그인입니다. 사실 저만 몰랐죠... 다들 알고 계실거예요. 설치를 위해 Lombok 홈페이지를 방문하거나 jar 파일을 다운받을 필요가 없습니다. 1. Eclipse 나 STS을 열고 "Help > Install New Software" 메뉴를 열어줍니다. 2. 아래 링크를 빈칸에 붙여넣고 엔터를 눌러줍니다. https://projectlombok.org/p2 3. 설치가 완료되면 IDE를 재시작해줍니다. 프로젝트에 Lombok 라이브러리 추가하기 플러그인 파일을 다운받았으니 프로젝트에 Lombok 라이브러리를 ..

Eclipse 코드 에디터 글씨 색 변경하기 "Window > Preferences" 메뉴를 열고 검색창에 "Syntax"를 입력해줍니다. 좌측에 여러가지 메뉴가 보입니다. - Java > Editor > Syntax Coloring JAVA 파일의 글씨 색을 변경할 수 있습니다. - Web > Client-side JavaScript, CSS Files, HTML Files > Syntax Coloring 만약 프론트엔드 전문가라면 이 세군데의 메뉴를 확인하는 것을 추천합니다. - Web > JSP Files > Syntax Coloring HTML 템플릿으로 JSP를 사용하신다면 위 메뉴도 설정하시는 것이 좋습니다. 기본 HTML 태그는 "Web > HTML Files > Syntax Coloring..

Eclipse 버전 업그레이드 하고 SVN Repository 연동하기 구버전 이클립스에 연동되어있던 SVN Repository를 신버전 이클립스와 연동하는 방법을 알아보겠습니다. 연동이 제대로 되지 않을 경우 해결방법도 소개하겠습니다. 이클립스 설치 및 SVN 플러그인 설치 1. 이클립스 설치하기 2023.09.07 - [Devlog/Ecliplse] - [Eclipse] Eclipse IDE 설치하기 [Eclipse] Eclipse IDE 설치하기 Eclipse IDE 설치하기 다양한 언어와 플러그인을 지원하는 대표적인 IDE인 이클립스입니다. 아래 홈페이지에서 다운받습니다 https://www.eclipse.org/downloads/ Eclipse Downloads | The Eclipse Foun..