IDE/Spring 9

[Spring Boot] Spring이란?

Spring이란? 1. Spring은 Framework이다. 2. Spring은 Open Source다. 3. Spring은 IoC 컨테이너를 가진다. - IoC란 Inversion of Control의 약어로, 주도권이 Spring에게 있다는 의미이다. class : 설계도 object : 실체화가 가능한 것 instance : 실체화가 된 것 변수 song은 실체화되어 heap 메모리에 올라간다. 이때 처음에 올라간 song은 다음에 올라간 song과는 아예 다른 변수이므로 heap 메모리에 새로 올라간다. => 이름은 같아도 각각 다른 변수이므로 나중에 관리하기가 힘들어진다. Spring이 class를 관리한다. Spring은 class 전체를 쫙 스캔하여 heap 메모리에 전부 올려놓는다. cla..

IDE/Spring 2023.10.03

[Spring/Error] The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

해당 에러는 톰캣에서 프로젝트 경로를 제대로 인식하지 못해서 발생한다. 이 경우, 경로를 올바르게 잡아주면 해결된다. 1. Server 탭에 있는 Tomcat을 더블클릭해서 Modules를 연 후 Edit를 통해 Path를 원하는 경로로 수정한다. 예를 들어, Path를 '/'로 변경하거나 '/job'으로 변경한다. 2. 경로를 잡아줄 프로젝트를 우클릭하고 Properties를 클릭한다. 3. Web Project Settings 클릭 후 Context root를 1번에서 수정한 Path 경로로 작성한다. 예를 들어, 1번에서 '/'로 수정했으면 Context root도 '/'로 설정한다. 4. OK 버튼 클릭하고 톰캣 재기동하면 정상적으로 실행된다. Rename context root from "A" ..

IDE/Spring 2023.06.23

[Spring Boot] Test 코드 작성 시 assertThat() 임포트가 안될 때

스프링 부트를 공부하다가 테스트 코드를 작성하는데 assertThat()이 임포트되지 않아 약간 애를 먹었다. 구글링 해서 아래와 같이 각각 임포트해봐도 적용이 되지 않았다. 계속 찾아본 결과, Assertions를 작성한 것과 작성하지 않은 것으로 나뉜다. Assertions를 작성한 경우 Assertions에 커서를 둔 채로 'alt + enter'를 누르면 static import할 수 있는 항목이 나온다. 이를 엔터 누르면 적용이 될 것이다. 하지만 나의 경우엔 적용이 되지 않아 Assertions를 작성하지 않은 경우로 넘어갔다. Assertions를 작성하지 않은 경우 assertThat()만 작성한 후 여기에 커서를 둔 채로 'alt + enter'를 누르면 static import meth..

IDE/Spring 2023.05.01

[Spring] VO - lombok

* lombok : 코드 자동 생성 라이브러리 - 반복적인 setter, getter, toString 등의 메소드 작성 코드를 줄여준다. @NoArgsConstructor // 기본 생성자 @AllArgsConstructor // 모든 필드를 매개변수로 갖는 생성자 @Setter @Getter @ToString @EqualsAndHashCode // equals, hashcode @Data // 위에 있는 모든 메소드를 포함하는 어노테이션 * lombok 설치 방법 1) 라이브러리를 다운받은 후 적용시킨다.(Maven pom.xml) 2) 다운로드된 jar 파일을 찾아서 설치한다.(작업할 IDE 선택) 3) IDE를 재실행시킨다. * lombok 사용 시 주의사항 1. uName, bTitle과 같이 ..

IDE/Spring 2022.07.04

[Spring] root-context.xml

* root-context.xml 문서란? : 서버 구동과 동시에 web.xml 파일을 거쳐서 바로 로딩되는 문서로, 서버 구동과 동시에 세팅해야 하는 내용들을 작성한다. 주로 DB 연결이나 트랜잭션 처리 등의 내용을 작성한다. * DB 연결 설정 3단계 · 1단계: DB 연결을 위한 도구를 설정한다. · 2단계: MyBatis Spring에서 제공하는 SQL 명령어 실행을 위한 도구를 등록한다. · 3단계: SQL 구문을 실행하기 위한 템플릿을 제공하는 도구를 등록한다. - constructor-arg: 생성자를 주입한다. * 파일 업르도 bean 등록 - property: 주입 - maxUploadSize: 한번에 전체 업로드되는 파일의 총 용량을 설정한다. - maxInMemorySize(maxUp..

IDE/Spring 2022.07.03

[Spring] web.xml - encodingFilter 등록

* 필터란? : 모든 요청들을 처리하기 전에 공통적으로 필요로 하는 기능들을 controller가 클라이언트의 요청을 받기 전 먼저 수행하게 한다. · encodingFilter는 Spring에서 제공해준다. → org.springframework.web.filter.CharacterEncodingFilter · 필터를 등록할 때 filter 태그와 filter-mapping 태그를 같이 사용한다. · filter-name 태그로 filter명을 지정한다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /*

IDE/Spring 2022.06.23

[Spring] pom.xml

pom.xml의 구조(프로젝트에 대한 정보) 4.0.0 com.tistory spring springProject war 1.0.0-BUILD-SNAPSHOT - groupId: 2번째 레벨까지의 패키지 구조 - artifactId: 3번째 레벨의 패키지명(프로그램명) - packaing: 배포할 때 압축형식 properties 이 문서에서 사용할 환경설정 내용들을 담은 변수로, ${변수명}으로 해당 값을 불러올 수 있다. 1.8 5.3.20 1.6.10 1.6.6 - java-version은 1.8 버전로 변경한다. - org.springframework-version은 5.3.20 버전으로 변경한다. 외부 repository 기본 저장소에서 다운받지 못할 경우에 직접 다운받고자 하는 저장소를 등록한다..

IDE/Spring 2022.06.15