2019백업
7) 전자정부 프레임워크 값 주고받는 3가지 방법
1. HttpServletRequest 방식 2. VO 방식 3. @RequestParam을 이용하는 방식 index.jsp index 전자정부프레임워크(Spring) 값 주고 받는 3가지 방법 1.HttpServletRequest방식 2.VO방식 3.@RequestParam 이용하는 방식 var header = { pageSubmitFn : function(pageName, form) { $("#pageName").val(pageName); //input 태그의 value를 설정한다. $("#"+form).attr("action",pageName+".do"); $("#"+form).submit(); } } 1. HttpServletRequest 방식 @RequestMapping에서 해당하는 url를 받..
6) Bean 의존관계 설정
Bean 의존관계 설정 방법 1. XML 1) Setter Inject - Setter 메서드를 통해 의존관계가 있는 Bean을 주입하려면 태그를 사용 할 수 있다. - ref 속성은 Bean 이름을 이용해 주입할 Bean을 찾는다. - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다. 코드예시 2) Constructor Injection - Constructor를 통해 의존관계를 주입한다. - Constructor 주입방식은 생성자의 파라미터를 이용하기 때문에 한 번에 여러 개의 객체를 주입 할 수있다. 예시코드 com.spring.test 패키지 밑에 Ho.class의 생성자 값을 설정해준다. 참고) IoC 컨테이너 https://blog.outsider.ne.kr/753 ..
5) Spring Test와 Junit
Sprint-Test에서 테스트를 지원하는 어노테이션 @RunWith(SpringJUnit4ClassRunner.class) - Junit 프레임워크의 테스트 실행방법을 확장 할 때 사용하는 어노테이션이다. - SpringJUnit4ClassRunner 라는 클래스를 지정해주면 jUnit이 테스트를 진행하는 중에 ApplicationContext를 만들고 관리하는 작업을 진행한다. - @RunWith는 각각의 테스트 별로 객체가 생성되더라도 싱글톤(Singleton)의 ApplicationContext를 보장한다. @ContextConfiguration - 스프링 빈(Bean) 설정 파일의 위치를 지정할 때 사용되는 어노테이션이다. @Autowired - 스프링 DI에서 사용되는 특별한 어노테이션이다. ..
4-2) DI 애플리케이션 작성 - JUnit
jUnit의 특징 1) TDD의 창시자인 Kent Beck과 디자인 패턴 책의 Erich Gamma가 작성했다. 2) 단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별한다. 예) assertEquals(예상 값, 실제 값) 3) jUnit4부터는 테스트를 지원하는 어노테이션을 제공한다. @Test, @Before, @After jUnit에서 테스트를 지원하는 어노테이션 Annotation 설명 @Test @Test가 선언된 메서드는 테스트를 수행하는 메소드가 된다. Junit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 하므로 @Test 마다 객체를 생성한다. @Ignore @Ignore가 선언된 메서드는 테스트를 실행하지 않게 한다. @Before @Before가 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9OKnx%2FbtqwVhcWC1X%2FjcT9dHb4jiSiAZGdh69qT0%2Fimg.png)
namespace는 무엇이고 XML은 무엇일까?
https://srzero.tistory.com/entry/NameSpace%EB%9E%80 NameSpace란? NameSpace란 무엇인가? 우선 이것이 무엇인지부터 알기전에 Namespace라는 개념이 왜 생겨났는지에 대해 알아보도록 하자. [1] NameSpace가 생기게 된 계기 흔히 HTML, WML 등등 MarkUp Language들은 많이있다. 이.. srzero.tistory.com NameSpace란 무엇인가? 1) NameSpace가 생기게 된 계기 HTML, WML 등등 MarkUp Language들이 많이 있다. 이들 마크업 언어들의 특징은 무엇인가? 단일화된 표현 방법이다. HTML은 HTML로, WML은 WML로 작성한다. XML은 다수의 마크업 언어로 작성이 가능하다. 다수의..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbex4ik%2FbtqwfzqwU2g%2F1vH1YDHWElpM5hM0lKRftK%2Fimg.png)
4-1) DI 예시 코드
Hello.java ...더보기 package myspring.di.xml; public class Hello { private String name; private Printer printer; public void setName(String name) { this.name = name; } public void setPrinter(Printer printer) { this.printer = printer; } public String sayHello() { return "Hello" + name; } public void print() { this.printer.print(sayHello()); } } Printer.interface ...더보기 package myspring.di.xml; publi..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTKIJQ%2FbtqwdiKF6rH%2FKhnfq0jPRfxlQbjRtiZdA0%2Fimg.png)
4) 스프링프레임워크 DI의 개념
DI의 개념 각 클래스간의 의존관계를 빈 설정(Bean Definition) 정보 바탕으로 컨테이너가 자동으로 연결해주는 것을 말한다. -개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 된다. - 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성된다. - 컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해 주는 것이다. DI의 장점 -코드가 단순해진다. -컴포넌트 간의 결합도가 제거된다. - Hello 클래스는 직접적으로 StringPrinter와 ConsolePrinter을 호출하지 않는다. - 설정 파일(bean.xml)에 어떤상황에 String,Console을 Hello에게 주입할지 적어준다. bean.xml 주입 방법 (Sette..
3. Spring Framework 개요
1. Spring Framework란 ? Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. 엔터프라이즈 개발의 복잡함을 상대하는 Spring의 전략 1) Portable Service Abstraction, 2) DI, 3) AOP, 4) POJO 1) Portable Service Abstraction(서비스 추상화) 트랜잭션 추상화, OXM(Object XML Mapping) 추상화, 데이터 액세스의 Exception변환 기능 등 기술적인 복잡함은 추상화를 통해 Low Level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분리한다. 추상화란 하위 시스템의 공통점을 뽑아내서 분리시키는 것을 말한다. 그렇게 하면 하위 시스템이 어떤 것인지 알지 못해도, 또는 하..