2022-08-09 @Bean과 @Component는 두 개다 스피링 IOC의 객체를 생성하는 기능을 한다. 이 둘의 차이점을 알아보자. 1. @Bean vs @Component 우선 @Bean 은 @Configuration와 세트로 사용된다. @Configuration은 기존의 config (XML에서 작성하던) 형식의 파일들을 java.class 형태로 작성할 수 있도록 도와주는 어노테이션이다. @Configuration 안에는 IOC에 들어간 bean이 필요한데, 이러한 객체를 생성하는 메서드에게 @Bean 어노테이션을 적어준다. 예로는 아래와 같이 DB 접속 정보가 들어간 config 파일에 사용한다. @Configuration public class DatasourceConfig { @Bean ..
2022-07-06 1. 방법 팝업창 호출을 a 태그에서 진행 시 발생할 수 있는 이슈사항으로 해결 방법은 아래와 같다. 함수 호출 뒤에 return false; 를 선언해 주면 기존 부모 창에 위치 변함없이 팝업창을 띄울 수 있다. 메인 이미지 출처 : Photo by Jason Hudson on Unsplash
2022-06-10 정적이 파일 properties 에는 주로 config(설정 관련 값)들이 들어 있다. 이들을 하나의 class화 시켜 getter로 사용하는 방법을 알아보자. 1. test.properties TEST_KEY=test123 우선 자신의 properties의 파일의 정확한 경로와 가져와야 하는 키/값을 알고 있어야 한다. 2. PropertiesConfig import org.springframework.beans.factory.annotation.Value; import org.springframework.context.EnvironmentAware; import org.springframework.context.annotation.Configuration; import org.sp..
2022-06-08 자신이 서비스하는 웹 애플리케이션에서 쓸데없이 로봇들이 크롤링하는 것들을 막을 수 있는 방법이 있다. robots.txt를 사용하는 건데 이를 spring에서는 어떻게 적용하는지 알아보자. - 방법 사실 방법은 매우 간단하다. /** * 봇 크롤링 막기 */ @RequestMapping(value = "/robots.txt") @ResponseBody public void robotsBlock(HttpServletRequest request, HttpServletResponse response) { try { response.getWriter().write("User-agent: *\nDisallow: /\n"); } catch (IOException e) { log.info("exc..
2022-05-06 기존에 @RequestBody 어노테이션을 사용하다가, content-type이 text/plain 형식의 json 데이터를 처리해야 하는데, [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8' not supported] 같은 오류가 발생하였으며, 이를 해결하는 방법을 찾아 공유하고자 한다. 방법은 아래와 같다. - 코드 @RequestMapping(value="/") public void test(HttpServletRequest request){ //body에 있는 제이슨을 받은 객체 String bodyJson = ""; StringBuilder str..
2022-02-18 작업 중 java.lang.OutOfMemoryError: Java heap space 오류가 뜨는 경우가 있다. 이는 힙 영역에서의 더 이상의 공간이 없어 발생하는 문제점으로써 현재의 힙 메모리 영역을 증가시켜야 한다. 오늘은 SpringBoot에서의 힙 메모리 공간을 늘리는 방법을 알아보자. -방법 SpringBoot는 내장 톰캣을 다루기 때문에 Server에서의 tomcat의 heap 메모리가 아닌 각 프로젝트별 heap 메모리를 수정하는 것이 권장된다. 아래를 보자. 이클립스 상단에 메뉴중 Run > Debug Configurations라는 메뉴가 보일 것이다. 해당 항목을 클릭하면 아래와 같은 팝업창이 나타난다. 팝업창 좌측 목차에 Spring Boot App이라는 항목이 존..