가지고 있던 프로젝트에서 로거 생성을 실습하려고 private Logger logger = LoggerFactory.getLogger(XX.getClass()); 같은 형태로 인스턴스를 만들어 써먹으려고 했는데 No qualifying bean of 'org.slf4j.logger' 라는 둥.... Bean creating 에 오류가 있다는 둥... 하면서 오류를 뱉길래.. Error creating bean with name 'XX' defined in file '/.../....' : Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.No..
++ 220511 추가 Junit 테스트를 하려고 하니까 아무것도 뜨지 않는 문제가 발생 __ApplicationTest 클래스는 실행이 되는데 임의로 만든 테스트 클래스는 실행이 되지 않아서 잉.... 하다가 오류나지도 않고 그냥 안뜸 이럴 때는 project에서 오른쪽 버튼 -> Run as 의 Run configuration을 들어가본다! Test runner에서 지정되어있는 Junit 버전이 사용하는 Junit 버전과 다르지 않은지 확인하고 변경해주면 된다 나는 JUnit 5 로 되어있던걸 JUnit 4로 바꾸었더니 잘 실행되었다 끝 +++ 추가 프로젝트를 새로 만들 때마다 적용해줘야해서... (아마 나는 기본 설정이 Junit5인것 같음) 이제는 Junit5로 테스트하는 방법을 찾아봐야겠다 ++..
아주 머리통 깨지게 짜증나게 하던.. 사실 사람 머리통은 그렇게 쉽게 깨지지 않지만 아무튼 잘 쓰던 sts에서 maven으로 spring boot 프로젝트를 만드려고 하니까 계속 Import Getting Started Content 79%.... 상태인 것을 발견, 종료도 안돼서 강제종료를 했다. Gradle로 만들때는 전혀 그런 일 없이 잘 됐는데 Maven 무슨일이냐.. .싶어서 알아보니까 https://stackoverflow.com/questions/69947364/sts-stuck-at-import-getting-started-content-at-79 STS Stuck at "IMPORT GETTING STARTED CONTENT" at 79% Click Here For The Image Wh..
코배스를 mysql로 하고 있는데, 첨부파일 이미지의 경로를 테이블에 넣으려고 하니 오류가 난다 unknown command 어쩌구... 서치를 해보니 user\cuna\test 식의 경로 대신 user/cuna/test 로 슬래시를 써서 넣으라는 얘기가 많다. 그러면 이걸 변경해야함.. String path = 경로.replaceAll("\\\\", "/"); 로 변경하면 되는데 uuid를 또 삽입하려고 하니까 오류가 난다. 세상에.. 바보였다 sql mapper 를 ${filepath} 라고 작성했지 뭐니 #{filepath} 라고 작성하니까 잘 된다. 값진.. 교훈 냠냠..
맨날 헷갈려.... @Consumes: 서버에서 수신하고자 하는 데이터 포맷 브라우저에서는 여기 적혀있는 포맷의 데이터만 서버로 보낼 수 있다. RequestMapping(..., consumes=MediaType.APPLICATION\_JSON\_UTF8\_VALUE) 일 때 서버는 body에 담긴 데이터의 타입이 APPLICATION\_JSON\_UTF8 일 때의 요청만 처리한다. @Produces: 서버에서 송신하고자 하는 데이터 포맷 서버는 여기 적혀있는 포맷의 데이터만 브라우저로 내보낼 수 있다. RequestMapping(... , produces = MediaType.APPLICATION\_JSON\_UTF8\_VALUE) 일 때 Http 응답 헤더로 Content-type: applicat..
공부를 소홀히해서요.. 이런 내용을 올리게 되었습니다. 인터페이스와 인터페이스를 구현한 구현1, 구현2 의 클래스가 있다고 했을 때 main 메서드에서 실행하는 경우, 인터페이스 정의 { 메서드(); } class 구현1 implements 인터페이스{ 구현1메서드(); } class 구현2 implements 인터페이스{ 구현2메서드(); } 인터페이스 i = new 구현1(); i.구현1메서드(); i = new 구현2(); i.구현2메서드(); 처럼 인터페이스 객체 i를 사용해 구현 클래스의 메서드들을 활용할 수 있다. 예제 코드를 작성해보자면.. 예가 좀 이상하긴 한데...... 암튼 Taste 객체를 만들게 되면 구현체들을 다 처리할 수 있다.
코배스 코드로 배우는 스프링 웹프로젝트 하던 중에 댓글 페이징을 하는데 댓글 등록하고 화면처리 하는 부분에 페이징이 안되서 해결과정을 글로 남김 ㅋㅋ댓글 넘겨오는 것도 문제였지만 그건 내 문제였다고 한다^.ㅠ 아무튼 책에서 알려준 코드는 이렇다. 먼저 댓글을 등록하는 부분 //get.jsp 내 modalRegisterBtn.on("click", function(e){ replyService.add(reply, function(result){ //....생략 showList(-1); }); }); 위에서 showList(-1)을 넘겨주는데, 그러면 showList()에서 받는다. //get.jsp 내 function showList(page){ replyService.getList( {bno: bnoVal..
@ModelAttribute 1. 메서드에 ModelAttribute 애너테이션을 사용하거나 → 스프링의 Model 객체에 속성을 저장하고 싶을 때 이면 반환받은 a 인스턴스가 Model 객체에 추가된다. 반환되는 a 객체가 aString이라는 이름으로 Model 객체에 저장됨, RequestMapping이 붙은 메서드보다 먼저 실행됨 2. 파라미터에 ModelAttribute 애너테이션을 사용하는 방법 → Model 객체에서 속성을 읽고 싶을 때 이런 예제가 있다고 치면, Model로부터 page라는 객체를 얻어서 numb에 대입된다→ 오토 박싱 ModelAttribute 로 지정한 모델 속성을 Model 객체에서 찾을 수 없으면, 스프링이 자동으로 메서드 인수 타입에 맞는 새로운 인스턴스를 만들어서 ..