1. Controller의 리턴 타입 - String : jsp를 이용하는 경우에는 jsp파일의 경로와 파일 이름을 나타내기 위해 사용 - Void : 호출하는 상세 URI와 동일한 이름의 jsp를 리턴 - VO, DTO 타입 : 주로 JSON 타입의 데이터를 만들어서 반환하는 용도로 사용 - Response Entity 타입 : response할 때 Http 헤더 정보와 내용을 가공하는 용도로 사용 - Model, ModelAndView : Model로 데이터를 반환하거나 화면까지 지정하는 경우 사용 - HttpHeaders : 응답에 내용 없이 Http 헤더 메시지만 전달하는 용도로 사용 2. 자바 객체를 XML이나 JSON으로 변환하는 이유 - HTTP protocol에 정의된, 요청/응답 메시지의..
[ 1. Controller 연습 ] (*****) [ 1 - 1. @RequestMapping ] [ 1 - 2. @RequestMapping(path = " ") ] [ 1 - 3. @RequestMapping(path = { " " }, method = { " " } ) ] [ 1 - 4. 단축형 - @GetMapping(path) / @PostMapping(path) ] [ 1 - 5. 매개변수 있는 버전 ] (****) [ 1 - 6. 매개변수가 Model인 버전 ] (****) [ + 화면에서 Model 활용 ] [ 1 - 7. @ModelAttribute(key) / Command Object ] (****) [ + 화면에서 Model 사용 ] [ 1 - 8. redirect: / Redir..
1. Spring MVC( Model-View-Controller ) - Spring의 여러 하위 프로젝트 중 하나이다. - 어노테이션( Annotaion )을 이용해서 간편하게 설정할 수 있다. - 다양한 View를 지원한다. 2. 지금까지 배운 Spring의 하위 프로젝트 - 1 ) spring-context : Spring Beans Container + DI( 의존성 주입 ) - + 스프링 빈즈 컨테이너의 규격을 정의한 타입 : ApplicationContext - + WebApplicationContext에서는 웹과 관련된 빈이 들어가 있는 servlet-context.xml과 웹과 관련이 없는 root-context.xml이 구분되어 있으나, 같이 연동되는 방식으로 동작하기에 설정을 분리해도 ..
1. MyBatis의 용법 ( 기본 2가지, 확장 2가지 ) - [ 기본 2가지 ] - (1) SQL Mapper XML 파일에 SQL 문장을 저장하고 개발시, SqlSessionFactory 핵심 객체를 얻어서 이용하는 방식 - + SqlSessionFactoryBuilder.build( ) - + SqlSessionFactory.openSession( ) - + SqlSession.selectOne( sql, param ) - + SqlSession.selectList( sql, param ) - + mybatis-config.xml 파일에 Mapper XML 파일의 경로를 등록 - (2) 소위 Mapper Interface라고 불리는 자바 인터페이스의 추상 메소드 위에 @Select/@Update/..
1. Spring과 MyBatis 연동 - Spring과 MyBatis를 연동하기 위해서는 SqlSessionFactory 빈을 등록시켜야 한다. - 스프링은 MyBatis와의 연결을 위한 mybatis-spring 라이브러리를 이용해서 연동한다. 2. 지금까지 Spring 설정한 것 정리 - 1 ) Eclipse Enterprise : Spring Tool 3 Add-on Plug 설치 - + Spring 프로젝트 생성시 도움을 준다. - + 스프링 설정 등 수행 시, 설정 파일을 미리 생성해 준다. - + 빈즈 그래프와 같이 개발시 시각적인 도움을 준다. - 2 ) Spring 프로젝트 생성 후, 우리가 한 것 - + [1] pom.xml 파일에 스프링관련 dependency(라이브러리) 추가 - +..
1. ViewResolver - MVC 패턴에서 Model 데이터를 이용하여, 최종 응답화면을 생성할 View 역할을 수행할 대상을 찾아낸다. - 1 ) 접두사 : /WEB-INF/views/ - 2 ) 접미사 : .jsp - 3 ) 최종 뷰의 이름 : 접두사 + 뷰 이름 + 접미사 = /WEB-INF/views/뷰 이름.jsp 2. DataSource 설정 - DB와 Connection을 맺고 끊는 작업은 리소스의 소모가 많은 작업이다. - 그렇기에 Pooling이라는 기법을 통해서 객체를 미리 생성하고 빌려 쓰는 방식으로 이용해서 연결 시간을 단축시킨다. 3. Servlet – context.xml파일과 root – context.xml파일의 차이점 - 같이 빈을 관리하지만, 웹과 관련된 빈은 Ser..
1. 스프링의 DI(의존성 주입)에서 의존성이란 - 의존성 주입이란 코드 내부에서 객체 간의 연결을 이루는 것이 아니라, 외부에서 설정을 통해서 객체를 연결하는 패턴이다. - + 즉, A객체에서 B객체를 직접 생성하는 방법이 아니라 - + A는 B가 필요하다는 신호만 보내고, B객체를 주입하는 것은 외부( 스프링 )에서 이루어지는 방법이다. - + 스프링의 경우 의존성 주입을 쉽게 적용할 수 있는 프레임워크가 존재한다. - 이때 의존성을 나타낼 수 있는 예시로는 Restaurant -------- > 요리사( chef )로 표시할 수 있다. - + 이는 요리사 없이는 Restaurant이 존재할 수 없다는 의미이다. - + Restaurant의 입장에서는 요리사가 반드시 필요하다는 의미이기도 하다. - ..
1. 스프링 설치 방법 - 1 ) Eclipse --> Help --> Eclipse Marketplace으로 들어가서 Marketplace client가 업데이트 항목에 있다면 업데이트 하기 - 2 ) Eclipse 의 설정파일(eclipse.ini)을 Sublime Text로 열어서 -vm에서 현재 설정된, JAVA 버전(테무린)이 11인지 확인해야 한다. (***) - 3 ) 브라우저에서 Eclipse Marketplace을 검색하여, Eclipse Marketplace web site로 이동한다. - 4 ) Eclipse Marketplace web site에서 "spring"을 검색하여 Spring Tools 3 Add-On for Spring Tools 4를 찾는다. - 5 ) 해당 이름의 이..
1. 쿼츠 기반의 Job Sceduling - 1 ) `Job` interface : 스케줄링되어 실행될 task의 규격 - -> Job 인터페이스를 상속 받는 구현 클래스 생성 ( jobA, JobB, SimpleJob ) - + 스케쥴링을 하기 전에 Task를 Job 규격에 맞게 생성해야 한다. - + 이는 스케쥴링의 대상(Target)이 된다. - 2 ) ‘JobDetail’ Interface - -> `JobBuilder`를 이용하여 구현객체 생성 - + 1 )의 Job에 대한 상세정보를 규격에 맞게 생성한다. - + 1 )의 Job 실행에 필요한 데이터도 Map의 형태로 설정할 수 있다. - + 1 )의 Job에 대한 name과 Group name도 설정할 수 있다. - 3 ) ‘Trigger’..
[ 1. 검색 조건이 있는 SQL문장을 Mapper에 작성하기 ] (*****) SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board WHERE bno = #{bno} SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board title LIKE '%'||#{title}||'%' SELECT bno, title, content, writer, insert_ts, update_ts FROM tbl_board writer LIKE '%'||#{witer}||'%' writer LIKE '%'||#{witer}||'%' writer LIKE '%'||#{witer}|..