뎁스노트 / 프레임워크 / Spring

프레임워크

sonjinju12sonjinju12· 2년전

질문springtoolsuite4에서 런 (쿼리생성)오류

package com.mysite.sbb; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class SbbApplicationTests { @Autowired private QuestionRepository questionRepository; @Test void testJpa() { Question q = this.questionRepository.findBySubject("sbb가 무엇인가요?"); assertEquals(1, q.getId()); } } testJpa 부분이 오류라고 하는데 Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-02-13T00:25:08.715+09:00 ERROR 7396 --- [ main] o.s.boot.SpringApplication : Application run failed application.property랑 build.gradle 모두 확인해보아도 이상이 없는거 같은데 왜 런이 안되고 계속 오류가 나는건지요 ???
800
3
0
무린
무린·2025-02-13
애플리케이션 실행이 안되는 것은 여러가지 원인이 있을 수 있습니다. 1. findBySubject가 null을 반환하는 경우 Question q = this.questionRepository.findBySubject("sbb가 무엇인가요?"); assertEquals(1, q.getId()); 이 코드에서 findBySubject("sbb가 무엇인가요?"...
궁금해유궁금해유· 3년전

질문Exception 관련 질문입니다ㅠㅠ도와주세요

안녕하세요. 기능 구현에 어려움이 있어 질문 드립니다. 감사합니다!! •로직 구조 [Controller] -list를 전달 받음 -ServiceImple method1에 list 전달하며 호출 [ServiceImple] Method1 -for문 실행하며 list 요소 Method2에 전달하며 호출 Method2 -Update1, Udate2 쿼리 호출 •문제 상황 Method2의 Update2에서 runtimeException 발생 시 Update1도 같이 롤백하고 Method1에서 다음 list 요소가 처리되도록 구현하고자 합니다. try catch를 이용해서 예외객체를 생성해 throw 해봤는데 거기서 로직이 종료되고 list의 다음 요소들이 처리되지 않는 문제가 있습니다. 해결할 방법이 있을까요?? 감사합니다!!
463
1
0
무린
무린·2023-10-23
Spring Boot에서는 @Transactional 어노테이션을 사용하여 트랜잭션 관리를 수행합니다. 여기서 원하시는 것은 Method2에서 Update2가 실패할 경우 Update1도 롤백되게 하면서, Method1의 for문은 계속해서 실행되게 하는 것입니다. 이를 위해 아래와 같이 구현하실 수 있습니다: ServiceImple의 Method2에 @T...
토이토이토이토이· 3년전

질문ajax , 게시글 댓글 관련해서 질문드립니다..

안녕하세요 댓글 관련 해서 질문드립니다. 게시판을 하나 만들고있는데 CRUD , 페이징 처리는 다 완료하였습니다. 이제 댓글 하나만 남았는데 처음에 댓글 AJAX 등록 및 목록 불러오기조차 되지않아서 3~4일간 노력한끝에 등록 및 불러오기를 구현 했습니다!! 근데 한가지 문제가 또 발생하더라구요 .. 댓글이 제가 선택한 게시글의 상세보기에 등록되는것인데 .. 1-1) 게시글의 상세보기에 들어가면 댓글이 나오지않고 , 꼭 댓글등록 버튼을 눌러야만 목록이 보입니다. 1-2) 그리고 제가 댓글 등록을 모달창으로 구현하였는데 댓글등록버튼을 누르면 모달창에 꺼지지가않습니다 ..ㅠ 1-3) 목록이 보이고 , 다시 새로고침을 누르면 댓글 리스트가 사라집니다. -> 그래서 제가 이것저것 해본결과 왠지 NoticeBoardController에 있는 "글 상세보기 (주석)" 에 NoticeRepltyController에 있는 "댓글 list불러오기 (주석)" 을 추가해야 한다는 생각이 들었습니다. 아님 제가 방향을 잘못잡고있는건가요 ..? 그렇게 추가해볼라니까 return 을 두개를 못하니 계속 막혀있습니다 ㅠㅠ
588
1
0
앱데브
앱데브·2023-07-14
페이지를 처음 로드할 때 댓글 리스트를 로드하려면 게시글 상세보기 컨트롤러에서 댓글 리스트를 불러오는 코드를 추가해야합니다. 그러나 두 개의 return을 사용할 수 없으므로, 댓글 리스트를 모델에 추가하여 뷰에 전달해야 합니다. 아래와 같이 해볼 수 있습니다. import org.zerock. service. EventNotiBoardService: im...

질문vscode에서 Spring boot를 실행하는데 오류가 발생합니다 ㅠ

- vscode에서 Spring boot를 실행하려고 하는데 계속 error가 뜹니다.. 이 에러는 대체 왜뜨는걸까요? 어떻게 해야 실행할 수 있을까요..
1.8K
1
1
0
무린
무린·2023-05-15
java. lang.Class ot FoundException은 클래스를 못찾는 경우에 발생하는 에러입니다.클래스를 못찾는 이유는 여러가지가 있을 수 있는데 해당 경로에 클래스가 존재하지 않거나 경로에 대한 환경설정이 잘못되어있는 경우가 대부분입니다.클래스 경로나 환경설정을 확인해보시기 바랍니다.

질문java 완전 초보 질문드립니다ㅠㅠ

예제 풀이를 하고 있는데 갑자기 머리가 멍해지고 머리가 하나도 안돌아가네요... 독학으로 하는지라... 문제 예제가 컨트롤러에 1~10까지 정수 저장하는 int[] arr을 생성해서 arr 키 이름에 저장하는 컨트롤러 클래스를 작성한 다음 이 키 이름을 참조해서 홀수들의 누적합을 구하는 jsp 뷰페이지를 작성하라는데...   뭔가 이 밑에 문제에 대해서 설명해주실 수 있을까요? 어제부터 오늘까지 혼자 해보려고 안간힘을 쓰다가 도저히 안될 것 같아서 질문드립니다 ㅠㅠ 
1.4K
1
0
피토니
피토니·2021-08-09
헐.. 어디서 나온 문제인지 몰라도 문제를 참 복잡하게 낸 것 같네요..
DEBTOLEEDEBTOLEE· 6년전

질문rest RequestMapping 이전 주소 상관 없이 새로 맵핑하는 방법이 있을까요

boardView/1 으로 들어가면 1번 데이터가 불러와지는 페이지가 뜨고 해당 페이지에 form에 수정버튼이 있는데 수정버튼을 누르면 /boardupdate/1 로 이동되게 되어야 하는데 /boardView/boardUpdate/1 로 이동이 되어버려서 어떻게 해야할지 모르겠어요 "); //게시물 수정 @RequestMapping(value="/boardUpdate/{game_no}") public ModelAndView boardUpdate(@Valid TodoParam tp, @PathVariable("game_no")Long id) throws Exception{     tp.setGame_no(id);     todoService.update(tp);     return new ModelAndView("/boardList"); }  
1.8K
1
0
kimho
kimho·2020-07-12
사용하신 form이 들어있는 HTML 코드도 같이 보여주시면 원인을 찾는데 도움이 될 것 같습니다.   혹시 form 태그의 action 부분에 action="boardUpdate/.."와 같이 되어있다면 action="/boardUpdate/.."와 같이 앞에 /를 잘 붙였는지도 확인해보시기 바랍니다. ...
DEBTOLEEDEBTOLEE· 6년전

질문goorm 스프링부트 gradle WEB_002dINF 오류 해결이 안됩니다

goorm IDE 환경에서 공부하고 있는데요 JAVA에서 데이터를 jsp로 넘기려고 ModelAndView를 사용하는데 jsp에 데이터를 받는 ${name} 부분이 있으면 WEB_002dINF 오류가 발생합니다.  maven 해결방법은 많이 있는데 gradle로 해서 어떻게 해야할지를 모르겠어서 글을 적게 되었습니다 error message   gradle bootRun https://restapi-windz.run.goorm.io W 2020-07-02 01:38:49.998 ERROR 1276 --- [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exce ption [java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.views.boardList_jsp] with root cause java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.views.boardList_jsp at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_111]     java @RequestMapping(value="/boardList") public ModelAndView boardList( ){ ModelAndView mv = new ModelAndView(); mv.addObject("name","홍길동"); mv.setViewName("/boardList"); return mv; //return new ModelAndView("boardWrite"); } jsp   게시글 리스트 번호   제목   작성자   작성일   ${name} build.gradle   group 'io.goorm' version '0.0.1' apply plugin: 'java' sourceCompatibility = 1.8 buildscript{ //전역변수 선언 ext{ springBootVersion = '2.1.7.RELEASE' } repositories{ maven{ url "https://plugins.gradle.org/m2/" } mavenCentral() jcenter() } dependencies{ classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}" } } apply plugin: 'java' apply plugin: 'idea' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { jcenter() mavenCentral() } dependencies { compile 'org.springframework.boot:spring-boot-starter' compile 'org.springframework.boot:spring-boot-starter-web' compile 'org.springframework.boot:spring-boot-starter-hateoas' compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0' compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.5.0' testCompile 'org.springframework.boot:spring-boot-starter-test' testCompile group: 'junit', name: 'junit', version: '4.12' // 데이터베이스연동 compile 'org.slf4j:slf4j-api:1.7.7' compile group: 'org.hsqldb', name:'hsqldb', version:'2.3.2' compile "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}" compile group: 'org.hibernate', name:'hibernate-validator', version:'5.1.3.Final' compile 'mysql:mysql-connector-java' //웹기반 디바이스에서 데이터 연동 compile group: 'javax.el', name:'javax.el-api',version:'3.0.0' compile group: 'javax.validation',name:'validation-api',version:'1.1.0.Final' compile 'javax.servlet:jstl' compile 'org.apache.tomcat.embed:tomcat-embed-jasper' compile group:'org.glassfish.web',name:'el-impl',version:'2.2' compile 'javax.inject:javax.inject:1' compile "com.google.dagger:dagger:2.8" annotationProcessor "com.google.dagger:dagger-compiler:2.8" } def webappDir = '$rootDir/src/main/webapp' jar { manifest { attributes 'Main-Class': 'project.Main' } }  
4.0K
2
0
kimho
kimho·2020-07-02
dependencies에 아래와 같이 servlet-api 추가가 필요할 것 같습니다. providedCompile 'javax.servlet:servlet-api:3.1.0'  
사용자 프로필· 8년전

질문spring초보> xml에 bean을 설정을 하면

초보입니다. 바보같은 질문 죄송합니다. 클라이언트 소스에서 getBean("id값") 이렇게 쓰잖아요 ex > TV tv = (TV)factory.getBean("tv"); xml설정에서 bean을 설정한 클래스가 여러개있으면 그거 다 순서대로 호출이되나요?       이런식일경우에 세개 다 호출이되는건가요?? 아니면 getBean에 쓴 id값? 만 찾아서 호출이되는건가요?     
426
0
히정히정· 8년전

Spring이란?

IOC컨테이너 * IOC컨테이너 ( =spring ) 컨테이너란? 인스턴스의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것 즉, 내가 작성한 코드의 처리과정을 위임받은 독립적인 존재 ( 적절한 설정만 되어있다면 프로그래머가 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 관리해준다. )   스프링 컨테이너는 스프링 프레임워크의 핵심부에 위치, 종속객체 주입을 이용하여 애플리케이션을 구성하는 컴포넌트들을 관리한다. -> 프로그래머가 작성한 코드는 컨테이너를 사용하게 됨으로서 프로그래머의 손을 떠나 컨테이너의 영역으로 떠나버리게 된다.   [ 스프링 컨테이너의 두 종류 ]   1. 빈팩토리 BeanFactory ( org.springframework.beans.facory.BeanFactory ) : DI의 기본사항을 제공하는 가장 단순한 컨테이너 팩토리의 디자인 패턴을 구현한 것. Bean팩토리는 빈을 생성하고 분배하는 책임을 지는 클래스 빈의 정의는 즉시 로딩하는 반면, 빈 자체가 필요하게 되기 전까지는 인스턴스화를 하지 않는다.   BeanFactory factory = new XmlBeanFactory(new FileinputStream(“bean.xml”)); MyBean myBean = (Mybean) factory.getBean(“myBean”); getBean()이 호출되면, 팩토리는 의존성 주입을 이용해 빈을 인스턴스화하고 빈의 특성을 설정하기 시작, 빈의 일생이 시작된다.   2. 어플리케이션 컨텍스트 ApplicationContext ( org.springframework.context.factory.BeanFactory ) : 빈팩토리와 유사한 기능을 제공하지만 좀 더 많은 기능을 제공하는 어플리케이션 컨텍스트   * 빈팩토리보다 더 추가적으로 제공하는 기능 국제화가 지원되는 텍스트 메세지를 관리해준다. 이미지같은 파일 지원을 로드 할 수 있는 포괄적인 방법을 제공해준다. 리너스로 등록된 빈에게 이벤트 발생을 알려준다. 가장 많이 사용되는 어플리케이션 컨텍스트 구현체 ClassPathXmlApplicationContext : 클래스패스에 위치한 xml파일에서 컨텐스트 정의 내용을 읽어들인다. FileSystemxmlApplicationContext : 파일 경로로 지정된 xml파일에서 컨텐스트 정의 내용을 읽어들인다. XmlWebApplicationContext : 웹 어플리케이션에 포함된 xml파일에서 컨텐스트 정의 내용을 읽어들인다.   ApplicationContext context = new ClassPathXmlApplicationContext(“conf/bean.xml”); MyBean bean = context.getBean(“myBean”);   ==> 빈팩토리와 어플리케이션컨텍스트의 또 다른 차이점 - 빈 팩토리 : 처음으로 getBean()이 호출된 시점에서야 해당 빈을 생성 - 어플리케이션 컨텍스트 : 컨텍스트 초기화 시점에 모든 싱글톤 빈을 미리 로드한 후 어플리케이션 기동 후에는 빈을 지연없이 얻을 수 있다. ( 미리 빈을 생성해 놓아 빈이 필요할 때 즉시 사용할 수 있도록 보장 )   IOC ( inversion of control, 제어의 역전 ) IOC란? 제어의 역전, 즉 외부에서 제어를 한다는 것 ( = 컨테이너 ) 제어권이 넘어가서 객체의 생명주기를 Container들이 전담하게 된다. -> 객체의 생성에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미함.
2.2K
4
0
무린무린· 9년전

스프링 부트에서 코틀린으로 REST API 구현하기

Getting started with REST in Kotlin using Spring Boot | Pusher blog This article is aimed at showing you how to build backend RESTful APIs in Kotlin using Spring Boot that your client apps can consume. blog.pusher.com 스프링 부트 환경에서 코틀린으로 개발하는 환경을 보여주는 글입니다. Postman 이라는 REST API 라이브러리와 함께 간단히 REST API 환경 만드는 방법을 설명하고 있습니다. Postman은 처음 알았네요. REST API 개발하기 쉽게 만드는 용도인 것 같은데 무료 버전과 유료 버전이 있군요.    
7.0K
2
0