dev/Spring49 [Spring] Controller Return Type Controller 의 return Type 으로 void, String, 객체 타입 등이 있는데 1. void 의경우 return 이없더래도 자동으로 return "ex05"; 로 인식이된다 만약 Controller Mapping 이 되어있을경우 @RequestMapping("/sample/*") 이떄는 return "/sample/ex05"; 가 된다 Controller의 Mapping값과 void함수의 Mapping이 추가되어 페이지를 호출한다. 2. String은 계속 사용하니 패스한다. 3. 객체 타입으로 VO나, DTO타입 등 복합적인 데이터가 들어간 객체타입으로 지정할 수 있는데 이경우는 주로 JSON 데이터를 만들어 내는용도로 사용한다 . 이경우 pom.xml에 Jackson-databin.. 2022. 1. 20. [Spring] Model .JSP 에서 GET / POST 방식으로 요청을 하면 DispatcherServlet 에서 요청을 받아 RequestMappingHandlerMapping이 Controller 에서 @RequestMapping 를 찾아 요청한 Controller로 보내 해당 메서드를 실행시킨다. 이때 매개변수에 VO가 선언되어 있을경우 보낸 데이터와 VO의 변수명이 일치 하면 자동으로 mapping된다. Controller에서는 해당 데이터로 DB작업을 하거나, 작업할 요소가 없을경우 가공된데이터 또는 해당 데이터를 JSP로 데이터를 다시 전달해줄때 사용하는데 Model이라는 객체다. @ModelAttribute라는 어노테이션이 있는데 해당 어노테이션은 Controller로 전달받은 파라미터를 Model에 담아서 화면.. 2022. 1. 20. [Spring] String <-> Date 타입변환 jsp 파일에서 String type으로 넘어오는 데이터를 VO에서 변환하는 방법은 VO에서 @DateTimeFormat(pattern = "yyyy/MM/dd") 로 변수에 선언해주는 방법이 있다. /sample/ex03?title=test&dueDate=2022/01/20 get 방식으로 호출하면 Contorller로 넘어와서, /ex03을 차자 ex03메서드로 연결된다. 이때 매개변수로 TodoVO 를 가지고 오는데 넘어온 데이터는 자동으로 맵핑된다. 이때 VO 에서 dueDate 값이 @DateTimeFormat(pattern = "yyyy/MM/dd") 로 패턴이 정해져있다. 실행결과를 보면 dueDate가 자동으로 Date로 변환이 되어 나오는 것을 확인할 수 있다. dueDate의 패턴을 @.. 2022. 1. 20. [Spring] SQL 어노테이션 사용, XML 사용 MyBatis 관련라이브러리 추가 이때 라이브러리를 추가할때 SpringFrameWork 와 버전을 일치 시켜줘야 한다. Mybatis-SpringMybatisDB hikariConfig 를 통해서 DB를 정보를 입력하고 해당 값을 ref로 사용하여 DB에 연결하고, SqlSessionFactory를 통해서 Mybatis-Spring에 연결해준다. 또한 JAVA 소스에서 사용한 @Select() 어노테이션을 인식하기 위하여 root-context.xml 에 를 통해서 Mapper를 인식하고 관리하게 한다. Mapper 인터페이스에서 어노테이션을 사용하지 않고 함수만 호출해준다. 호출해준 함수를 XML 파일을 통해 연동시킬것이다. 선언한 함수명과 여기서 중요한것은 namespace인데 namespace는 .. 2022. 1. 16. [Spring] DI 예제1 @Data // lombok의 setter를 생성하는 기능과, 생성자, toString() 등을 자동으로 생성하도록 하는 어노테이션. @Component는 스프링에게 해당 클래스가 스프링에서 관리해야 하는 대상임을 표시하는 어노테이션이며, @Setter는 자동으로 setChef() 를 컴파일시 생성합니다. Setter에서 사용된 onMethod 속성은 생성되는 setChef()에 @Autowired 어노테이션을 추가하도록 합니다. Outline을 보면 setChef() 함수가 생성되었고 Chef가 Autowired되어진것을 확인할수 있다 (onMethod 를 통해서) 1.XML 을 이용하는 의존성 주입설정 스프링에서 관리되는 객체를 흔히 빈(Bean)이라고 하고, 이에 대한 설정은 XML과 JAVA를 통.. 2022. 1. 11. [Spring] 스프링의 주요특징 1. POJO 기반의 구성 객체 간의 관계를 구성할 수 있는 특징을 가지고 있다. 스프링은 다른 프레임워크들과 달리 이 관계를 구성할 떄 별도의 API등을 사용하지 않는 POJO의 구성만으로 가능하도록 제작되어있다. 2. 의존성주입(Dependency Injection)을 통한 객체간의 관계 구성 의존성이란 객체가 다른 객체 없이 제대로된 역할을 할 수 없다는 것이다. 예) 서빙 알바가 없으면 장사는 할 수 있지만 주방장이 없으면 장사를 할 수 없다. 이처럼 하나의 객체가(주방장) 다른 객체(장사)에 상태에 따라 영향을 받는것을 의존적이다 라고 한다. 주입이란 외부에서 밀어 넣는것으로 예) 장사 하기전에 식재료를 직접 사로 가거나, 외부 본사에서 식료품을 제공해주거나 2가지 방법이 있다. 의존성주입이란 .. 2022. 1. 11. [Spring] configuration 설정 설정을 해줄 class 생성 상속하면 3개를 오버라이드 하게 되는데.. getRootConfigClasses() 는 root-context.xml 를 대신하는 메서드 인데. 여기서는 RootConfig 를 사용할 것이므로, RootConfig.class를 return해준다, 2022. 1. 11. [Spring] 페이지 이동 및 @RequestParam @ModelAttribute / 을 home.jsp로 잡았을경우 form 태그 action => "/viewPage" method="post" controller ==> RequestMapping(value="viewPage", method="RequestMethod,POST") /home 이 home.jsp인경우 form 태그 action => "/home/viewPage" method="post" controller ==> RequestMapping(value="viewPage", method="RequestMethod,POST") 태그이동시에 /home 이 붙는다는게 다르다. @ModelAttribute("Info") BoardVO boardVO 여기서 jsp Page 에서 Controller로 데이터를 전송할때 Control.. 2022. 1. 6. [Spring] Page 전환 오랜만에 Spring MVC패턴을 다시 해보다보니 헷갈리는게 많다. jsp에서 페이지 전환을 위해 /home/viewPage 요청을 보내면 Controller 에서 어노테이션 @RequestMapping 이 받아서 페이지를 return 해주는데 이때 return 할때 접두사와 접미사를 생략해주는데 이걸을 깜빡하고.. 경로를 잘못써줬다. 접미사 /WEB_INF/views/ 를 잊고서 pages란 폴더를 views 밖에 두고 왜 이동이 안되지 하면서 해매다가 찾아보니 지정된 경로가 있었다.... 가장 기본적인건데 까먹고.. 안하면 잊는다는게 딱 정답이다. pages 폴더를 views 폴더 안에 넣어주고 return "pages/viewPage" 하니 정상적으로 이동이 되었다. 2022. 1. 5. 이전 1 2 3 4 5 다음