Java/Spring
-
의존성 주입(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 -
StringUtils Java의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스이다. 문자열과 관련된 대부분의 처리가 가능하다. 파라미터 값으로 NULL을 주더라도 절대 NullPointException을 발생시키지 않는다. NULL의 경우 메소드에 따라 적절한 결과를 리턴한다. API 공식문서 http://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html Apache Commons Lang 3.11 API commons.apache.org 보통 String 문자열을 체크하기 위해선 Null 체크, 길이 0 체크, 적절한 값 체크 등 여러가지의 체크를 해야했다. 하지만 StringUtils 클래스를 사용하면 문자..
StringUtilsStringUtils Java의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스이다. 문자열과 관련된 대부분의 처리가 가능하다. 파라미터 값으로 NULL을 주더라도 절대 NullPointException을 발생시키지 않는다. NULL의 경우 메소드에 따라 적절한 결과를 리턴한다. API 공식문서 http://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html Apache Commons Lang 3.11 API commons.apache.org 보통 String 문자열을 체크하기 위해선 Null 체크, 길이 0 체크, 적절한 값 체크 등 여러가지의 체크를 해야했다. 하지만 StringUtils 클래스를 사용하면 문자..
2022.05.13 -
RequestContextHolder Spring 전역으로 Request 에 대한 정보를 가져올 때 사용한다. RequestContextHolder 를 이용해서 Controller, Service, Dao 등 전 구간에서 HttpServletRequest에 접근할 수 있다. RequestContextHolder 가 초기화 되는 시점은 Servlet이 생성될 때이다. 즉, 생성 시기는 Http Request가 오는 시점에 생성 및 초기화 되어지고 비즈니스 로직을 수행한 후 서블릿이 Destroy 될 때 Clean 된다. RequestContextHolder는 같은 쓰레드 범위에서 데이터를 요청할 수 있다. 새로운 쓰레드를 생성하는 순간 DispatcherServlet의 범위에서 벗어나 서로 다른 서블릿이 ..
RequestContextHolderRequestContextHolder Spring 전역으로 Request 에 대한 정보를 가져올 때 사용한다. RequestContextHolder 를 이용해서 Controller, Service, Dao 등 전 구간에서 HttpServletRequest에 접근할 수 있다. RequestContextHolder 가 초기화 되는 시점은 Servlet이 생성될 때이다. 즉, 생성 시기는 Http Request가 오는 시점에 생성 및 초기화 되어지고 비즈니스 로직을 수행한 후 서블릿이 Destroy 될 때 Clean 된다. RequestContextHolder는 같은 쓰레드 범위에서 데이터를 요청할 수 있다. 새로운 쓰레드를 생성하는 순간 DispatcherServlet의 범위에서 벗어나 서로 다른 서블릿이 ..
2022.05.11 -
@ConfigurationProperties *.properties, *.yml 파일에 있는 property 및 값들을 자바 클래스로 가져와서 사용할 수 있게 해주는 어노테이션 Spring boot에서 필요한 설정들을 *.properties, *.yml 파일에 써두고 관리한다. - test.properties obo-test.number=010.1111.2222 obo-test.name=obo 위와 같은 properties 파일이 있다고 가정했을 때 아래와 같이 @Value 어노테이션을 사용하여 바인딩 시킨다. @Value("${obo-test.number}") private String number; @Value("${obo-test.name}") private String name; 위 방법은 직접 ..
@configurationProperties@ConfigurationProperties *.properties, *.yml 파일에 있는 property 및 값들을 자바 클래스로 가져와서 사용할 수 있게 해주는 어노테이션 Spring boot에서 필요한 설정들을 *.properties, *.yml 파일에 써두고 관리한다. - test.properties obo-test.number=010.1111.2222 obo-test.name=obo 위와 같은 properties 파일이 있다고 가정했을 때 아래와 같이 @Value 어노테이션을 사용하여 바인딩 시킨다. @Value("${obo-test.number}") private String number; @Value("${obo-test.name}") private String name; 위 방법은 직접 ..
2022.05.03