Spring_SpringBoot (42) 썸네일형 리스트형 Failed to configure a DataSource 기존에는 개발 세팅만 돼 있었지... 세팅하면서 시간이 너무 간다.... 하나씩 적어보자 'Failed to configure a DataSource' 에러가 발생하는 이유는 바로 Database에 연결할 때 필요한 정보가 없거나 잘못 되었기 때문이다. Spring Framework를 이용해 프로젝트를 구성하는 초기에 발생하는 문제인데 1) 주로 application.properties에 설정파일과 불일치할 때 일어난다.→ 사용하지 않아도 일어나는구나... SpringBoot 의존성 관리 스트링 부트를 구성하는 핵심 요소는 스타터(Starter), 자동설정(AutoConfiguration), 액추에이터(Acturator)다. 1. 스타터 : 스프링이 제공하는 특정 모듈을 사용할 수 있도록 관련된 라이브러리 의존성을 해결한다.2. 자동설정 : 스타터를 통해 추가한 모듈을 사용할 수 있도록 관련된 빈 설정을 자동으로 처리해준다.3. 액추에이터 : 스프링 부트로 개발된 시스템을 모니터링할 수 있는 다양한 기능을 제공한다.1. 스타터기존의 Spring-Frame의 경우에는 직접 pom.xml에 의존성(dependency)를 주입하거나 직접 파일을 업로드했어야 했다.하지만 JPA의 경우를 예로 들면, 하이버네이트 관련 의존성만 추가했다고 해서 스파링과 JPA연동을 바로 처리할 수는 없다는 것이다... RestController/Controller @RestController는 JSP같은 뷰(View)를 별도로 만들지 않는 대신에 컨트롤러 메소드가 리턴한 데이터 자체를 클라이언트로 전달한다. 클라이언트에 전달되는 데이터는 대부분 문자열이거나 VO나 컬렉션 형태의 자바 객체인데, 자바 객체가 전달되는 경우에는 자동으로 JSON으로 변환하여 처리한다. (1) 문자열을 리턴하는 경우브라우저는 응답 프로토콜 보디에 세팅된 문자열을 그대로 출력한다. (2) VO객체를 리턴하는 경우VO로 리턴을 해도 JSON형태로 된다. (3) 컬렉션을 리턴하는 경우Controller의 메소드가 단순히 VO 객체 하나를 리턴하는 것이 아니라 여러 개의 VO 객체를 배열이나 java.util.List가튼 컬렉션에 저장하여 리턴하는 경우가 있다. @RestController는 .. 스프링부트의 ComponentScan Bean이해 기존 Spring에서는 componet-scan을 XML파일로 등록해 빈(Bean)을 설정했다. 그러나 Spring-Boot에서는 딱히 설정하지 않아도 충분히 가능했다. 그 이유는 무엇일까? → 답은 메인 클래스에 있는 import org.springframework.boot.autoconfigure.SpringBootApplication; 에 있다.SpringBootApplication에 있는 @ComponentScan 어노테이션이 있다. 이 어노테이션이 기본적으로 main() 메소드가 포함된 클래스가 속해 있는 패키지를 베이스로 패키지로 하여 빈 등록을 처리하는 것이다. 즉, 현재 상황은 XML 설정 파일에 로 설정한 것과 동일하게 동작한다. 그렇다면 무조건 main() 메소드가 포함된 클래스가 속해.. Spring-Security pom.xml(보완)과 Tomcat 1. pom.xml 파일에는 의존성 설정이 Web과 Test 두 개 밖에 없는데도 불구하고 [Maven Dependencies]를 확인해보면 엄청나게 많은 라이브러리가 등록되어 있다. 그렇다면 어떻게 Maven Dependencies에 많은 것들이 존재하지? → 이유는 다음의 그림으로 나와있다. 2. Tomcat 설정을 안 해주었는데 기본적으로 Tomcat 10이 내장되어있다. 스프링부트 어노테이션 ☏ 스프링 컨테이너를 위한 XML 환경설정 파일 작성하지 않는다. 스프링 부트가 기본적으로 모든 빈(Bean)설정을 XML이 아닌 어노테이션(Annotation)으로 처리하기 때문이다. ※ Bean- (Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다.→ 기존 SI프로젝트에서는 Annotation보다는 XML을 통해서 처리하는 것이 많았다. ※ 어노테이션(Annotation)정의 : 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다.즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. 기본적으로 어노테이션을 사.. 스프링부트(SpringBoot)의 장점 장점(1) 라이브러리 관리 자동화기존 Spring(전자정부 프레임워크)는 Maven이나 Gradle을 이용해서 라이브러리 의존성을 관리함But, 스프링 부트는 스타터(Starter)라는 것을 이용해 특정 기능에 필요한 라이브러리 의존성을 처리할 수 있다. (2) 설정의 자동화추가된 라이브러리를 기반으로 실행에 필요한 환경을 자동으로 설정해준다. (3) 라이브러리 버전 자동 관리스프링의 경우 개발할 때 신경 쓰이는 것이 라이브러리와 버전 관리다.스프링은 스프링 라이브러리만 사용하여 개발할 수 없으며, 의존관계에 있는 서트파티 라이브러리들도 사용한다.스프링 라이브러리뿐만 아니라 서드파티 라이브러리들도 호환되는 버전으로 다운로드해준다. (4) 테스트 환경과 내장 톰캣스프링 부트롤 생성한 프로젝트에넌 Junit.. Dynamic WebProject 개요 주어진 업무나 과제에 대해서 해결하기 위한 업무만을 진행해서 Spring에 대한 이해 부족이 심했다. 또한 MVC패턴이 어떻게 적용되는지 모르는 상황에서 진행하다 보니 깊은 이해가 어려웠다. 1. pom.xml 설정 https://mvnrepository.com 를 통해 필요한 jar 파일을 pom.xml에 의존성 주입한다. - spring-webmvc : MVC패턴을 사용하기 위함- jstl : jsp에서 c태그를 사용하기 위함 2. web.xml 설정 이전 1 2 3 4 5 6 다음