728x90
반응형
728x90
반응형

맥에서 스프링 STS 설치 후 grade 프로젝트 import하는 방법에 대해 알아보겠습니다.

1. Spring Boot 설치

https://spring.io/tools/ 접속

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

4.13.0 - MACOS ARM_64 다운로드

다운받은 "spring-tool-suite-4-4.13.0.RELEASE-e4.22.0-macosx.cocoa.aarch64.dmg" 파일 실행하면 설치 완료.

2. gradle 프로젝트 다운받기

3. STS실행하여 내려받은 프로젝트 import

Improt projects... -> Gradle -> Existring Gradle Project

Next 클릭

Browse... 를 클릭하여 다운받은 프로젝트 경로 지정 후 Next

Override workspace settings 체크 후 Next

Dependencies 에서 추가한 라이브러리를 다운받는 화면

Finish

프로젝트 생성완료

내장된 톰캣을 활용하여 서버 시작

localhost:8080 실행시 정상적으로 기동되었음

 

728x90
반응형
728x90
반응형

인프런 김영한님의 강의를 기반으로 스프링 부트를 공부하기로 했습니다.

sts에서 gradle 프로젝트 import하는 방법에 대해 알아보겠습니다.
1. spring-initializr 활용하여 프로젝트 다운받기 https://start.spring.io/

● Project : Spring Boot를 빌드하고 배포하는 방식으로 Maven, Gradle 중 선호하는 프로젝트를 선택 (Gradle을 많이 사용하는 추세라고 함)
Group : 보통 회사명을 적는데 jpabook으로 작성
Artifact : build 된 결과물 (프로젝트명)
Dependencies : 라이브러리 추가(Spring Web, thymeleaf(html 템플릿 엔진 -jsp대신 사용), Spring Data JPA, H2 Database, Lombok)
GENERATE : 프로젝트를 생성


2. STS실행하여 다운받은 프로젝트 import

Gradle -> Existring Gradle Project

Next 클릭

Browse... 를 클릭하여 다운받은 프로젝트 경로 지정 후 Next

Override workspace settings 체크 후 Next

1번 Dependencies 에서 추가한 라이브러리를 다운받는 화면

프로젝트가 정상적으로 생성됨

내장된 톰캣을 활용하여 서버 시작

방화벽 허용

localhost:8080 실행시 정상적으로 기동되었음

728x90
반응형

'프로그래밍 > Spring Boot' 카테고리의 다른 글

STS Gradle 라이브러리 추가하기  (1) 2022.01.02
STS Lombok 적용하기  (1) 2022.01.02
728x90
반응형

스프링 프레임워크를 사용하면서 root-context.xml와 servlet-context.xml 차이에 대한 궁금증에 생겨 포스팅합니다.

root-context.xml와 servlet-context.xml는 두 파일 모두 객체(bean)를 정의한다는 공통점이 있습니다.


root-context.xml 는 

 -jsp와 관련이 없는 객체(bean)를 설정해줍니다. 아래 그림과 같이(service, repository)

 -비즈니스 로직을 위한 설정입니다.


servlet-context.xml 는 

 -jsp와 관련 있는 객체(bean)를 설정해줍니다. (controller, MultipartResolver(파일 업로드), Interceptor(로그인) 등),  

 -URI와 관련 설정을 담는 클래스는 servlet-context.xml에 들어가야 합니다.

 -WEB Application에서 Client의 요청을 받기 위한 설정입니다.




https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc


root-context.xml


	
		
	
	
	
	<context:component-scan base-package="org.zerock.persistence"/>
	
	
	<context:component-scan base-package="org.zerock.service"/>
	
	>
	<context:component-scan base-package="org.zerock.aop"/>
	<aop:config/>
	
	
	<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
	
	
	
			
	<tx:annotation-driven/> 
  

servlet-context.xml

  
  <context:component-scan base-package="org.zerock.controller" />
	
	<!-- 17.11.1 파일 저장 경로 설정 -->
	<beans:bean id="uploadPath" class="java.lang.String">
		<beans:constructor-arg value="C:\\springUploadTest\\upload"/>
	</beans:bean>
	
	<beans:bean id="multipartResolver" 
	class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		 
	</beans:bean>
	
	
	
	
	
	
	
	
		
			<mapping path="/user/loginPost" />
			<beans:ref bean="loginInterceptor" />
		
		
		
			<mapping path="/sboard/register "/>
			<mapping path="/sboard/modifyPage" />
			<mapping path="/sboard/removePage" />
			<beans:ref bean="authInterceptor"/>
    
		
	
 

  


728x90
반응형
728x90
반응형


런타임 오류 내용입니다.

 
org.springframework.validation.BeanPropertyBindingResult: 2 errors Field error in object 'cri' on field 'page': rejected 
value []; codes [typeMismatch.cri.page,typeMismatch.page,typeMismatch.int,typeMismatch]; arguments 
[org.springframework.context.support.DefaultMessageSourceResolvable: codes [cri.page,page]; arguments []; default 
message [page]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for 
property 'page'; nested exception is java.lang.NumberFormatException: For input string: ""] Field error in object 'cri' on 
field 'perPageNum': rejected value []; codes
[typeMismatch.cri.perPageNum,typeMismatch.perPageNum,typeMismatch.int,typeMismatch]; arguments 
[org.springframework.context.support.DefaultMessageSourceResolvable: codes [cri.perPageNum,perPageNum]; 
arguments []; default message [perPageNum]]; default message [Failed to convert property value of type 
'java.lang.String' to required type 'int' for property 'perPageNum'; nested exception is 
java.lang.NumberFormatException: For input string: ""]

 


게시판 수정 중 컨트롤러에서 value=""빈칸으로 발생하여 sumbit시에 값을 읽지 못해 발생한 오류입니다.

컨트롤러에서 @ModelAttribute를 명시해주지 않아서 생긴 오류였습니다.

@RequestParam이나 @MddelAttribute 어노테이션을 사용하면 메소드의 길이가 길어지고 복잡하다고 느낄 수 있습니다.

하지만 이를 생략하는 것은 저처럼 오류를 범할 수 있으니 꼭 명시해주는게 좋습니다.


728x90
반응형
728x90
반응형

스프링을 다시 시작해보려고 개발환경을 설정하고 있었습니다.

MyBatis연결을 위해 MyBatis의 SqlSessionFactoryBean 설정 중에 아래와 같은 에러가 발생하였습니다.


스프링과 연동해주는 mybatis-spring의 버전이 맞춰지지 않아 생기는 에러였습니다.

https://mvnrepository.com 에서 사용하고 싶은 라이브러리를 검색하고 pom.xml에 복붙을 하면 됩니다.

이 버전을 맞추는 방법은 아래 Provided Dependencies를 찾아 버전을 확인하여 해당 버전에 맞춰주면 오류를 해결할 수 있습니다.



728x90
반응형
728x90
반응형

+ Recent posts