간단한 설명프로젝트를 진행하다 보면 시크릿 키와 같이 외부에 노출해서는 안되는 값들을 사용할 때가 있습니다.만약 코드 내부에 시크릿 키를 저장하고 사용할 경우 외부에 노출될 위험이 커집니다.이럴 경우 application.properties 와 같은 파일에 보안이 필요한 값들을 넣어 두고 .gitignore 로 등록하여 외부에 노출이 되지 않게 하며 필요할 때 꺼내 쓰면 외부에 노출될 위험이 줄어듭니다. 이렇게 application.properties 에 보안이 필요한 값들을 꺼내오는 어노테이션이 바로 @Value 입니다.사용@Value 를 사용하기 전에 우리는 보안이 필요한 값을 저장할 수 있는 파일을 만들어야 합니다.Spring 에서는 애플리케이션에서 사용하는 설정 값을 외부 파일인 test.prop..
Spring BeanSpring Bean은 Spring Framework에서 관리하는 객체를 의미합니다. Spring IoC (Inversion of Control) 컨테이너는 애플리케이션에서 객체의 생명 주기와 의존성 주입(Dependency Injection)을 관리합니다. Spring에서 관리하는 객체는 모두 Bean이라고 부르며, 이는 Spring 컨테이너가 생성하고 관리하는 객체입니다.Spring Bean을 등록하는 방법고전적인 방법 - Spring Bean XML 설정먼저 등록하고 싶은 Bean 파일을 만들어야 합니다.MyService 객체가 MyRepository 의존성을 갖고 있다고 가정하겠습니다.public class MyService { private final MyRepository..
빈 - Bean빈( Bean ) 은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트입니다.즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리합니다. 빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 합니다.쉽게 이해하자면 new 키워드를 대신 사용한다고 보시면 됩니다.IHelloService helloService = new IHelloService()스프링 빈을 사용하는 이유정말 간단하게 말하자면 효율적이고 안전한 객체 관리를 위해서입니다. 객체의 효율적인 관리첫 번째로 객체를 효율적으로 관리하기 위해서입니다.우리가 프로그램을 만들 때, 여러 클래스들이 서로 도와서 일을 합니다. 이때 객체( 클래스를 통해 만들어지는..
경로변수path variable 이며, 요청 경로를 동적으로 표현이 가능한 경로 패턴으로 지정할 수 있습니다.URL 경로 상의 변하는 값을 경로 변수로 취급하여 경로 변수에 해당하는 값을 파라미터 변수에 설정할 수 있습니다. 간단하게 사용법을 말하자면 URL 경로에 중괄호 { } 안쪽에 변수를 담고, 그 변수를 @PathVariable(" ") 로 받아서 사용할 수 있습니다.기본 사용법요청 : http://localhost:8080/member/detail/123 JSP... Controller@RequestMapping("/detail/{memberid}") public String detail(@PathVariable String memberid) { //... }변수명을 다르게 설정Path..
QueryStringURL로 전달되는 문자열사용자가 "list? p=1"과 같이 URL에 쿼리 스트링을 사용해 특정 조건을 요청할 경우 request 객체를 가져와 사용할 수 있습니다.Servlet Programming 에서는 다음과 같은 방식으로 HTTP 요청의 파라미터를 얻을 수 있습니다.@RequestMapping("/index")public void index(HttpServletRequest req) { String p = req.getParameter("p"); int value = Integer.parseInt(p);} 하지만 Spring MVC 는 위와 같은 방식보다 조금 더 편한 방식을 제공해주고 있습니다. 사용 방법은 아래와 같습니다.@RequestMapping("/index..