[Java] Ambiguous mapping found. Cannot map 'XXXController' bean method 스프링을 사용 할때, Ambiguous mapping found. Cannot map 'XXXController' 라는 에러메시지가 나타났따. 검색을 해보니 Controller에서 ReqeustMapping에 문제가 생긴거라고 한다. 여러 이유가 있겠지만, 나같은 경우에는 RequestMapping에 동일한 이름이 있었다. 그래서 중복되지 않게 이름을 바꿔줬더니 금방 해결 되었다. 오류 모음집 2021.08.03
[JavaScript] checked Box Array 활용 자바스크립트 체크박스 Array 활용하기 //전체 Array에 넣기 var arr = []; $('input[name="test"]').each(function(index) { var bChecked = $(this).prop('checked'); var id = $(this).attr('id'); var value = $(this).val(); arr.push('[' + index + ']('+ bChecked + ')' + id + ':' + value); console.log(arr); }); //전체 Checked Array에 넣기 var arr = []; $('input[name="chckbxColors"]:checked').each(function(index) { var bChecked = $.. JavaScript 2021.07.29
[Java] Junit 실행순서 [Juni5의 실행순서] 출처 : https://www.softwaretestinghelp.com/junit-annotations-tutorial public class OrderServiceTest { MemberService memberService; OrderService orderService; @BeforeEach public void beforeEach() { AppConfig appConfig = new AppConfig(); memberService = appConfig.memberService(); orderService = appConfig.orderService(); Test Class를 잘 살펴보면 @BeforeEach 애너테이션이 붙은 beforeEach 메서드가 있다. 이는 Te.. JAVA 2021.07.28
[Java] Class에 대하여 클래스와 인스턴스 우리가 'new MemberRepository()' 와 같은 코드를 작성하면 애플리케이션은 'MemberRepository 클래스'를 참조하여 'MemberRepository 인스턴스'를 만들게 됨. 인스턴스를 만든다는 것은 클래스의 정보를 기반으로 메모리에 새로운 객체를 만든다는 의미. 예를들면, 클래스는 붕어빵 틀에 인스턴스는 붕어빵에 비유 가능. 붕어빵 틀을 이용하여 붕어빵을 만들수 있지만 붕어빵 틀과 붕어빵은 서로 다른것처럼. 클래스는 필드(멤버변수)와 메서드를 가질 수 있음. 그리고 필드와 메서드에는 static 키워드를 붙일 수 있음. static 이 붙은 필드나 메서드는, '인스턴스의 소유'가 아닌, '클래스의 소유'가 됨. 클래스 소유의 뜻 클래스의 소유라는 뜻은, 어떤 .. JAVA 2021.07.28
[Java] Spring Repository 생성시 final 붙이는 이유 1. 위와 같이 레포지토리 생성 시 final을 붙이는 이유가 무엇일까? MemberRepository 타입의 memberRepository 객체를 다른 객체로 바꾸지 않기 위해 final 키워드를 붙임 2. final은 불변의 객체인 경우 or Read only인 경우에만 붙인다고 알고있는데, join 메서드를 실행하게 되면 레포지토리의 store 변수에 데이터가 추가되어 결국 변화가 생기는 것 아닌가? 불변의 대상을 잘못 알고 계시는거 같음. 예시를 들어 설명. --- 1. 마우스를 상속 받은 G102, GPro 클래스 + price의 초기값은 0, versionUp 함수를 호출 할 때 마다 price는 1씩 증가. 2. Mouse를 Gpro 타입으로 생성하고, mouse를 G102로 바꾸려고 할 때.. JAVA 2021.07.28
[GeoServer] tomcat 배포 파일질라를 통해서 Java war를 배포하는건 문제가 없었는데, GeoServer를 이용하려고하니 처음이라 머리가 조금 아팠다. 하지만 생각보다 엄청 단순했음... geoserver를 tomcat에 설치하면 되는거였따... gerserver에 호스트 주소에 맞는 창을 따로 설치해야하는데.. 쉽게 생각하자면, 서버가 Linux라면 Linux에 Geoserver를 설치하거나, 파일질라에 Geoserver.war를 옮겨줘서 풀어줘서 끄읕... Linux나 파일질라가 어색해서 시간을 조금 허비했네..ㅎㅎ;; 배우고 익혀 널리 알리자 2021.07.28
[PostgreSQL] DB 및 유저 생성 postgresql 사용에 앞서 Database와 유저를 생성하고 pgAdmin4를 통해 외부 네트워크에서 접속을 시도. 1. DATABASE 생성 이제 외부 접속을 허용했으니 사용할 DB를 생성. 다음 명령어를 통해 Postgresql Shell을 실행. $ sudo su postgres $ psql 이제 사용할 DB를 생성. CREATE DATABASE smoh; 2. USER 생성 그다음 유저를 생성하고 권한을 부여. 개발용 계정으로 사용할 예정이기 때문에 SUPAERUSER 권한을 줬습니다. CREATE USER {user_name} WITH PASSWORD '{user_password}'; ALTER USER {user_name} WITH SUPERUSER; 만약 해당 유저에게 특정 권한만 주고.. Database 2021.07.27
[DB] mysql Access dinied for user "@" (using password:YES) DB를 Connect하는 경우 나타날 수있는 Error. 로그인이 불가하다는 내용인데, 검색해보니 주요 문제는 다음과 같다고한다. 1. 외부접속을 열어주지 않은 경우 2. 비밀번호를 설정하지 않은 경우 3. 비밀번호를 제대로 설정하지 않은 경우 비밀번호 같은 경우에는 초기에 대부분은 설정을 해주기 때문에 보통은 외부접속을 허용하지 않아서 발생되는 오류인것로 생각된다. 외부접속을 허용해주기 위해선 grant all privileges on *.* to '계정명'@'%'; 를 설정해주면 된다. % 의 경우에는 들어오는 모든 아이피를 수신하는것이기때문에 특정 아이피를 지정하기 위해선 이부분을 입력해주면 된다. Database 2021.07.27
[Java]Cannot create PoolableConnectionFactory 스프링에서 db에 접속하는 방법 1. JDBC만을 이용한 접속 이 경우에는 pom.xml를 이용하여 jdbc 작성을 위해 driver를 다운로드 2. Spring에서 datasource를 정의하고 이를 통한 접속 이 경우에 pom.xml과 root-context.xml이 사용 혹은 context-datasource 3. Mybatis를 이용한 접속 - 2번과 사용하는 파일은 똑같지만 sqlSessionFactory 라는 Mybatis 이용시 필요한 객체를 사용하여 db에 접속하는 방법 JAVA 2021.07.27
[Java] Spring 토비의 스프링 정리 - 예외를 잡아서 아무런 조취를 취하지 않거나 의미 없는 throws 선언을 남발하는 것은 위험. - 예외는 복구하거나 예외처리 오브젝트로 의도적으로 전달하거나 적절한 예외로 전환 - 좀 더 의미 있는 예외로 변경하거나, 불필요한 catch/throws를 피하기 위해 런타임 예외로 포장하는 두 가지 방법의 예외 전환 - 복구 할 수 없는 예외는 가능한 빨리 런타임 예외로 전환하는것이 바람직 - 애플리케이션의 로직을 담기 위한 예외는 체크 예외로 만듬 - JDBC의 SQLException은 대부분 복구 할 수 없는 예외이므로 런타임 예외로 포장해야함 - SQLException의 에러코드는 DB에 종속되기 때문에 DB에 독립적인 예외로 전환될 필요가 있음 - 스프링은 DataAccessException.. JAVA 2021.07.26