Java
-
@RequestBody 와 @ModelAttribute 어노테이션은 클라이언트 측에서 보낸 데이터를 Java 에서 사용할 수 있도록 데이터 자동 바인딩 해주는 어노테이션이다. @RequestBody 클라이언트가 보내는 HTTP 요청 본문(Body안의 JSON 및 XML 데이터)을 Java Object로 변환하는 것이다. HTTP 요청 본문 데이터는 Spring에서 제공하는 HttpMessageConverter를 통해 타입에 맞는 객체로 변환된다. 특징 - @RequestBody를 사용하면 요청 본문의 JSON, XML, Text 등의 데이터가 적합한 HttpMessageConverter를 통해 파싱되어 Java 객체로 변환된다. - @RequestBody를 사용할 객체는 필드를 바인딩할 생성자나 Sett..
@RequestBody 와 @ModelAttribute@RequestBody 와 @ModelAttribute 어노테이션은 클라이언트 측에서 보낸 데이터를 Java 에서 사용할 수 있도록 데이터 자동 바인딩 해주는 어노테이션이다. @RequestBody 클라이언트가 보내는 HTTP 요청 본문(Body안의 JSON 및 XML 데이터)을 Java Object로 변환하는 것이다. HTTP 요청 본문 데이터는 Spring에서 제공하는 HttpMessageConverter를 통해 타입에 맞는 객체로 변환된다. 특징 - @RequestBody를 사용하면 요청 본문의 JSON, XML, Text 등의 데이터가 적합한 HttpMessageConverter를 통해 파싱되어 Java 객체로 변환된다. - @RequestBody를 사용할 객체는 필드를 바인딩할 생성자나 Sett..
2022.05.25 -
Thymeleaf 템플릿 엔진에서 ajax 요청 등 Api 요청 URL 앞에 붙여야할 어플리케이션 ContextPath를 사용해야할 때가 있다. 이때 Thymeleaf 속성을 사용하여 ContextPath를 설정하고 변수명으로 호출하여 사용할 수 있다. 보통 Thymeleaf dialect 라이브러리를 사용하여 Layout을 맞추므로 dialect 기준으로 예시를 보여드립니다. 항상 화면에 보여지는 header 부분에 아래와 같은 코드를 추가한다. http 요청 정보에서 getContextPath() 메서드를 사용하여 정보를 가져온다.Thymeleaf 템플릿 엔진이기 때문에 위 th: 구문은 꼭 써야한다. 또는 application.properties 나 application.yml 에 설정한 cont..
Thymeleaf Javascript 에서 ContextPath 가져오기Thymeleaf 템플릿 엔진에서 ajax 요청 등 Api 요청 URL 앞에 붙여야할 어플리케이션 ContextPath를 사용해야할 때가 있다. 이때 Thymeleaf 속성을 사용하여 ContextPath를 설정하고 변수명으로 호출하여 사용할 수 있다. 보통 Thymeleaf dialect 라이브러리를 사용하여 Layout을 맞추므로 dialect 기준으로 예시를 보여드립니다. 항상 화면에 보여지는 header 부분에 아래와 같은 코드를 추가한다. http 요청 정보에서 getContextPath() 메서드를 사용하여 정보를 가져온다.Thymeleaf 템플릿 엔진이기 때문에 위 th: 구문은 꼭 써야한다. 또는 application.properties 나 application.yml 에 설정한 cont..
2022.05.18 -
final 키워드 final의 의미는 최종적이라는 뜻을 가지고 있습니다. final 키워드를 사용했을 때 초기화가 되면 최종적인 값이 되어 프로그램 도중에 수정을 할 수 없습니다. final 키워드는 변수, 메서드, 클래스에 사용될 수 있습니다. 또한 변수, 메서드, 클래스 중 어디에 사용하냐에 따라 다른 의미를 가집니다. final 필드 // final 필드 [= 초기값]; final int number = 1; final 필드 타입은 위와 같이 선언하며 final 필드의 초기값을 줄 수 있는 방법은 2가지 있습니다. 첫번째는 위 코드와 같이 선언과 동시에 초기값을 선언하는 방법과 두번째는 생성자를 통해서 초기값을 주는 방법이 있습니다. 보통 단순한 값이라면 final 필드 선언과 동시에 초기값을 주는..
final 키워드final 키워드 final의 의미는 최종적이라는 뜻을 가지고 있습니다. final 키워드를 사용했을 때 초기화가 되면 최종적인 값이 되어 프로그램 도중에 수정을 할 수 없습니다. final 키워드는 변수, 메서드, 클래스에 사용될 수 있습니다. 또한 변수, 메서드, 클래스 중 어디에 사용하냐에 따라 다른 의미를 가집니다. final 필드 // final 필드 [= 초기값]; final int number = 1; final 필드 타입은 위와 같이 선언하며 final 필드의 초기값을 줄 수 있는 방법은 2가지 있습니다. 첫번째는 위 코드와 같이 선언과 동시에 초기값을 선언하는 방법과 두번째는 생성자를 통해서 초기값을 주는 방법이 있습니다. 보통 단순한 값이라면 final 필드 선언과 동시에 초기값을 주는..
2022.05.18 -
의존성 주입(Dependency Injection, DI)의존성 주입을 해야 하는 이유는 아래와 같다.외부에서 객체를 생성하여 가져오기 때문에 객체 간의 의존성을 줄이거나 없앨 수 있다.또한 객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다. 자세한 내용은 아래를 참고해주세요https://okimaru.tistory.com/113 Spring Web Framework(IOC, DI)제어의 역전(IOC, Inversion Of Control) 제어의 역전이란 메소드나 객체의 호출작업을 개발자가 결정하는게 아닌 외부에서 결정되는 것을 의미한다. 쉽게 말해 객체의 제어권을 IOC 컨테이너에게 넘겨okimaru.tistory.com Spring에서는 @Autowired 를 사용하는 필드 주입이나 수정자..
생성자 주입, 필드 주입(@Autowired), 수정자 주입의존성 주입(Dependency Injection, DI)의존성 주입을 해야 하는 이유는 아래와 같다.외부에서 객체를 생성하여 가져오기 때문에 객체 간의 의존성을 줄이거나 없앨 수 있다.또한 객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다. 자세한 내용은 아래를 참고해주세요https://okimaru.tistory.com/113 Spring Web Framework(IOC, DI)제어의 역전(IOC, Inversion Of Control) 제어의 역전이란 메소드나 객체의 호출작업을 개발자가 결정하는게 아닌 외부에서 결정되는 것을 의미한다. 쉽게 말해 객체의 제어권을 IOC 컨테이너에게 넘겨okimaru.tistory.com Spring에서는 @Autowired 를 사용하는 필드 주입이나 수정자..
2022.05.18 -
Java Controller에서 ModelMap을 사용하여 넘긴 데이터를 Thymeleaf html 및 Javascript에서 사용하기 Java위 이미지와 같이 Thymeleaf의 prefix, suffix에 의해 return String으로 설정하고 view name을 일치 시키면해당 view로 데이터가 넘어간다. 데이터를 설정하기 위해 ModelMap을 파라미터로 지정한다. ModelMap 의 메소드 중 addAttribute를 사용하여 데이터를 지정할 수 있다.@RequestMapping(value = "/main")public String main(ModelMap map, HttpServletRequest request) throws IOException { HashMap m = new Ha..
Thymeleaf Java에서 넘어온 객체 값 Javascript로 전송Java Controller에서 ModelMap을 사용하여 넘긴 데이터를 Thymeleaf html 및 Javascript에서 사용하기 Java위 이미지와 같이 Thymeleaf의 prefix, suffix에 의해 return String으로 설정하고 view name을 일치 시키면해당 view로 데이터가 넘어간다. 데이터를 설정하기 위해 ModelMap을 파라미터로 지정한다. ModelMap 의 메소드 중 addAttribute를 사용하여 데이터를 지정할 수 있다.@RequestMapping(value = "/main")public String main(ModelMap map, HttpServletRequest request) throws IOException { HashMap m = new Ha..
2022.05.18 -
src/main/resources 디렉토리에 application-${profile}.properties 형태로 만들어 실행옵션에 active profile로 사용할.properties 파일을 지정하여 환경마다 다른설정을 했습니다.하지만 이러한 설정은 빌드된 파일안에 모든 환경 .properties 파일이 노출된다.이러한 단점을 구분하기 위해 resources-${profile} 폴더를 추가하여 각 환경마다 다른 .properties 파일을 사용하면 된다. 설정하는 방법은 아래와 같다. 1. Spring Boot Project 생성프로젝트 생성하세요! 2. pom.xml 에 , 태그 설정 2-1. Profile 설정... local ..
Spring Boot resources Directory Profile 마다 환경 분리src/main/resources 디렉토리에 application-${profile}.properties 형태로 만들어 실행옵션에 active profile로 사용할.properties 파일을 지정하여 환경마다 다른설정을 했습니다.하지만 이러한 설정은 빌드된 파일안에 모든 환경 .properties 파일이 노출된다.이러한 단점을 구분하기 위해 resources-${profile} 폴더를 추가하여 각 환경마다 다른 .properties 파일을 사용하면 된다. 설정하는 방법은 아래와 같다. 1. Spring Boot Project 생성프로젝트 생성하세요! 2. pom.xml 에 , 태그 설정 2-1. Profile 설정... local ..
2022.05.16