Spring 6

[Spring] 이클립스에서 Environment값 설정

스프링부트 프로젝트를 진행하다보면 application.properties에 보안이 필요한 정보들을 입력해야할 때가 있다. 한 프로젝트를 진행하면서 application.properties에 암호화된 jdbc 값을 입력할 일이 있었는데, properties 우선순위 상 application.properties 를 읽어오는 순위는 상대적으로 늦어서 bean 에러가 발생한 경우가 있었다. 이런 경우 이클립스 환경에서 jdbc를 굳이 프로퍼티 정보에 남기지 않고 실행시키는 방법을 소개하고자 한다. (리눅스 서버 환경에서는 서버상에 별도로 env를 설정해야한다.) Run - Run Configurations.. 탭에 들어가서 [ Spring Boot App ] 탭에서 실행시키고자 하는 프로젝트를 클릭한다. En..

Programming/Spring 2021.12.02

[Spring] @Bean, @Configuration, @Component 어노테이션 차이

@Bean, @Configuration 개발자가 직접 제어가 불가능한 외부 라이브러리 또는 설정을 위한 클래스를 Bean으로 등록할 때 @Bean 어노테이션을 활용 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 명시해 주어야 함 @Component 개발자가 직접 개발한 클래스를 Bean으로 등록하고자 하는 경우 @Component 어노테이션을 활용

Programming/Spring 2021.12.02

[Spring] RequestMapping value값 여러개 사용.

여러 링크 혹은 반복적인 page를 하나의 컨트롤러로 처리하고 싶을 때는 다음과 같이 사용할 수 있다. 1. URL 분기 @RequestMapping(value={"/","/login"}, method=RequestMethod.GET) public String index(HttpServletRequest request, HttpServletResponse response ) { return "/login"; } 2. PathVariable 사용 @RequestMapping(value="/page/{index}.do", method=RequestMethod.GET) public String page(@PathVariable int index, HttpServletRequest request, HttpSer..

Programming/Spring 2021.11.01

[Spring] <form:form> 태그 사용법

Spring에서 지원하는 form 태그 라이브러리가 있다. 이것을 사용하면 데이터를 바인딩하거나 에러메세지를 간편하게 할 수 있다. 먼저 jsp파일 상단에 아래와 같이 taglib를 추가해준다. 그 후 예문과 같이 작성해준다. 이름 : 나이 : 성별 : 남성 여성 분석 기본 form 태그와는 달리 modelAttribute라는 attr가 추가된걸 볼 수 있는데, @RequestMapping(value="/enrollment", method=RequestMethod.POST) public String enrollment(@ModelAttribute("userInfo")UserVO userVO, Model model ) { System.out.println("@enrollment"); try { model...

Programming/Spring 2021.10.28

[Spring] @Controller vs @RestController

@Controller 전통적인 Spring MVC의 컨트롤러. 주로 View를 반환하기 위해 사용된다. 1. 클라이언트가 서버에 웹서비스를 요청. 2. Dispatcher Servlet에서 받아서 Handler Mapping된 값을 Controller에게 넘겨주고, Controller에서 요청 처리. 3. 처리된 응답을 다시 Dispatcher Servlet으로 반환하고 Dispatcher Servlet은 View를 클라이언트에게 반환. @RestController 컨트롤러에서 데이터를 반환해야 하는 경우 사용되는 Restful한 웹서비스 컨트롤러. 기존 Controller에서는 @ResponseBody를 사용하면 Data값을 반환해 줄 수 있지만, 해당 컨트롤러가 데이터만 반환하는 경우 사용된다. 1...

Programming/Spring 2021.10.25

[Spring] 유용한 Dependency

javax.servlet jstl org.springframework.boot spring-boot-devtools true mysql mysql-connector-java runtime org.apache.tomcat.embed tomcat-embed-jasper JSTL - JSTL 확장 태그를 사용하기 위해 필요한 라이브러리 ex) spring-boot-devtools - 수정된 소스코드가 즉시 실행될 수 있도록 자동로딩 해주는 lib mysql-connector-java - mysql Connector tomcat-embed-jasper - 프로젝트 빌드시 포함될 톰캣 lib

Programming/Spring 2021.10.25