본문 바로가기

분류 전체보기556

스프링부트 viewresolver와 Mustache 이전에, responsebody를 붙이지 않으면 파일 명을 찾아간다고 했었다. -IndexController.java @GetMapping({"","/"}) public @ResponseBody String index() { return "index"; } 여기서 responsebody 어노테이션을 빼면 어떻게 될까? 다음과 같이 404 에러가 발생한다. 왜냐면, 경로에 파일이 없기 때문이다. 여기서 어노테이션을 제거하면 파일은 다음과 같은 폴더의 경로를 찾아간다. 이 때, 스프링은 파일의 템플릿 엔진을 제공하는데, 이 파일의 템플릿 엔진은 스프링부트 프로젝트를 처음 만들 때 지정할 수 있다. 필자는 여기서 Mustache를 사용한다. 이 파일들은 각자의 확장자를 가지는데, 현재 사용하는 mustache.. 2020. 7. 13.
리눅스 기초 명령어3 1. 파일 복사 - 붙여넣기 cp (복사할 파일 이름) (붙여넣을 폴더 이름) 현재 경로에 파일이 없는 경우, 복사할 파일을 절대경로로 작성한다. 붙여넣을 폴더 역시 마찬가지다. 만약에 파일의 이름을 바꿔넣어서 붙이고 싶다면, 들어갈 폴더(경로)/바꿀 파일이름으로 명령어를 입력한다. 2. 파일 이동 mv (파일 이름) (폴더 이름) 파일 이름과 폴더의 경로는 앞서 이야기한데로 경로에 없으면 절대경로를 지정해준다. 이동도 마찬가지로 파일명을 바꿀 때 폴더 이름 / 바꿀 파일 이름으로 사용하면 파일 이름이 변경되어 이동된다. 3. 파일 삭제 rm (파일 이름) 이 때, 파일은 일반적으로 지워진다. 하지만, 디렉토리를 삭제할 때, 디렉토리의 하위에 파일이 따로 있으면 지워지지 않는다. 이 때는 두 가지 선택이.. 2020. 7. 13.
SpringBoot의 어노테이션, 스프링 컨텍스트 SpringBoot의 가장 큰 특징은 패키지에 어노테이션으로 빈을 추가해두면 이 빈들을 설정된 컨텍스트 어디에서나 호출, 사용할 수 있다는 점이다. 큰 흐름은 다음과 같다. 스프링 부트는 스프링과 다르게 어노테이션을 저장하는 컨텍스트를 따로 지정할 필요 없이 프로젝트를 생성할 때 만들어진 패키지만 스캔하여 어노테이션을 찾아 컨텍스트에 등록(IoC, Inversion of Controll)한다. 즉, 다른 패키지를 임의로 만들어 어노테이션을 지정해서 어노테이션을 지정해도 스프링부트는 컨텍스트에 저장하지 않는다(메인 패키지의 하위 패키지는 스캔한다.). 이렇게 등록하는 방법은 클래스를 선언할 때 5개의 어노테이션 중 하나를 지정하면 된다. @Controller : MVC 모델에서 라우팅 역할을 해줄 클래스에.. 2020. 7. 10.
Maven의 라이브러리가 올바르게 동작하지 않은 경우 maven으로 분명 라이브러리를 빌드패스 했음에도 라이브러리 속 함수가 임포트 되지 않는 경우가 있다. 이건 maven이 라이브러리를 다운로드 받다가 모종의 이유(?)로 라이브러리를 다운 받지 못했을 때 발생하는데, 다양한 방법이 있다. 1. repository 파일을 그대로 날리기. maven이 관리하는 repository 파일이 어딨는지는 저번 포스팅에서 얘기한 적이 있다. https://itstudy-mary.tistory.com/169 의존성 관리도구(Maven)에 라이브러리 추가하기 필자는 maven을 사용하는데, maven 라이브러리를 추가하는 방법은 다음과 같다. maven 라이브러리는 프로젝트의 최상단, pom.xml 파일에서 관리한다. 라는 큰 태그 내부에 라는 작은 도구 하나하나씩 ��.. 2020. 7. 10.
반응형