본문 바로가기

웹 개발(OLD)/Spring Framework(OLD)

(22)
Spring Form데이터 컨트롤러에서 처리 1. form에 action지정해주지 않았을 때 처리 되는 경로 아래 코드를 보면 form 태그에 따로 action을 지정해주지 않았다. form에 action을 따로 지정해주지 않으면 현재 경로를 그대로 action의 대상 경로로 잡는다. 즉, 해당 form 에 데이터를 입력한 후 sumbit 버튼을 누르면 해당 jsp파일의 경로인 board/create의 경로에 method로 지정한 post방식으로 호출되므로 이 URI에 매핑되는 컨트롤러에서 form 데이터를 받아서 처리할 것이다. TITLE WRITER Submit 2. 스프링MVC 컨트롤러에서, 요청으로 들어온 폼 데이터를 자동으로 해당 VO객체에 바인딩시키는 방법. 해당 URI에 매핑되는 컨트롤러의 메소드가 아래와 같다.즉, 파라미터로 Boar..
컨트롤러에서 브라우저로부터 받은 파라미터 파싱 후 뷰로 값 전달 1. 브라우저에서 Request시 url을 통해 파라미터를 넘기는 경우 이 파라미터를 컨트롤러에서 받아서 뷰로 전달하는 방법 여기서는 msg라는 이름의 파라미터를 브라우저에서 컨트롤러로 요청한다고 하고 컨트롤러에서 이름이 msg인 파라미터를 받아서 원하는 뷰에 전달 한다. 위 과정을 @ModelAttribute ("msg") String msg 가 알아서 한다. package org.zerock.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttr..
jqGrid 1. 그리드가 뿌려질 jsp를 호출하는 url에 매핑 되는 컨트롤러 // 이 url을 호출하면 jqgrid 소스가 있는 jsp가 실행된다. 즉 jqgrid 소스가 실행되면서 url에 있는 곳으로 ajax통신이 일어나게 된다. 즉 /test에 매핑되는 컨트롤러가 호출된다. // 이 컨트롤러에서는 그리드에 뿌려주고자하는 데이터를 만들어서 json타입으로 리턴해주면된다. 그러면 json데이터가 페이지에 뿌려지게 되고 이 뿌려진 데이터를 jqgrid가 읽어서 페이지의 그리드에 뿌려주게 되는 것이다. @RequestMapping(value = "/jqgridTest", method = RequestMethod.GET) public void jqgridTest() { }// jqgridTest() 2. jqgrid..
JAVA Object, JSON 변환 (GSON 라이브러리) 1. Gson 라이브러리는 아래 코드를 스프링의 pom.xml에 추가함으로서 메이븐으로 받을 수 있다. com.google.code.gson gson 2.6.2 compile 사용법 및 예제는 아래 사이트 참고 http://emflant.tistory.com/47
Spring Batch 프로그램 - 어노테이션 방식 1. servlet-context.xml 에 추가( 어노테이션으로 태스크를 적용해서 스프링이 관리하라는 의미.) 2. 스프링이 관리하고 있는 클래스(아래는 @Service 어노테이션이 적용된 클래스의 메소드이다.)안의 태스크로 적용할 메소드에 @Scheduled 어노테이션을 추가한다. 그러면 태스크로 등록된 것이다.( 이 메소드가 주기적으로 실행 되는 것이다.) @Scheduled 어노테이션의 속성- cron = "초 분 시 월 년 요일" : cron = "1 * * * * ?" 하면 매 1초가 될 때마다 실행한다는 의미. - fixedDelay = 3 : 태스크 실행 후에 지정한 31초 동안 대기하고, 다시 태스크를 호출한다. - fixedRate = 3 : 3초마다 태스크 호출. 3. 결과 현재 위 ..
Spring AOP - 기본 개념스프링은 기존의 비즈니스 로직 외 작성해야 하는 코드를 별도로 분리함으로써 개발자가 좀 더 비즈니스 로직에만 집중해서 처리할 수 있는 방법을 제공한다. 즉, 공통적이고, 반복적이고, 그러나 비즈니스 로직의 핵심이 아닌 부분(이런 것을 횡단 관심사 cross-concern이라고 한다.)`을 처리할때 AOP를 이용할 수 있다.AOP는 OOP를 대신하는 새로운 개념이 아니라, OOP를 더욱 OOP 답게 사용할 수 있도록 도와주는 개념이다객체를 재사용함으로써 개발자들은 반복되는 코드의 양을 굉장히 많이 줄일 수 있었다. 그럼에도 불구하고 로그, 권한 체크, 인증, 예외 처리 등 필수적으로 해야하는 코드들은 반복될 수 밖에 없었다. 이러한 부분을 AOP가 해결해준다. 기능을 비즈니스 로직과 공통 모듈..
Spring Transaction 처리 - root-context.xml에 Namespaces에 tx를 추가적으로 선택해준 다음, 아래 코드를 추가해준다. (DataSource의 설정이 존재한다는 가정하에 진행) - 을 사용하기 위해서는 pom.xml에 spring-tx를 추가해주어야 한다. - 그러면 이제 트랜잭션이 필요한 서비스 Layer 에 @Transactional 을 걸어주면 되는데 우선순위는 인터페이스 -> 클래스 -> 메소드 이다.따라서 우선순위가 가장 낮은 인터페이스에 걸어주면 다 걸리긴 하지만, 일반적으로 서비스 클래스에 걸어준다.
Spring MVC 원리 -Spring MVC 원리 MVC 패턴을 spring 프레임워크 기반으로 구현한 모듈로써, 모든 웹 요청을 하나의 서블릿이 받아서 처리하는 방식의 Front Controller 패턴이다. 즉, DispatcherServlet 이라는 Front Controller를 등록해 두고 공통적인 작업을 수행한 후 핸들러를 호출하는 방식으로 동작한다. Spring 기반의 애플리케이션은 ApplicationContext라고 불리는 IoC 컨테이너를 가지고 있는데 이를 이용해서 객체를 관리한다. 이를 이용하면 객체가 개발자의 코딩에 의해 생성되는 것이 아니라 IoC컨테이너에 의해서 생성되고 관리된다.(DI를 이용해서 미리 생성된 객체들을 IoC 컨테이너에 주입함으로써 실행 중에 객체들의 life-cycle을 관리할 수 ..