일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 다형성
- EnhancedFor
- 예외미루기
- 오라클
- 어윈 사용법
- 추상메서드
- 인터페이스
- 컬렉션 타입
- 환경설정
- exception
- 한국건설관리시스템
- oracle
- 참조형변수
- 자바
- 생성자오버로드
- 메소드오버로딩
- abstract
- 정수형타입
- cursor문
- 집합_SET
- 예외처리
- 대덕인재개발원
- GRANT VIEW
- Java
- 제네릭
- 객체 비교
- NestedFor
- 자동차수리시스템
- 컬렉션프레임워크
- 사용자예외클래스생성
- Today
- Total
목록Java_Spring Framework part1 (21)
거니의 velog
4. @Autowired 이용해 빈 주입하기 * XML에서 빈을 설정한 후 애플리케이션이 실행될 때 빈을 주입해서 사용하면 XML 파일이 복잡해지면서 사용 및 관리가 불편한다는 단점이 있다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter /* action org.springframework.web.servlet.DispatcherServlet 1 action *.do * 현재 스프링에서는 @Autowired를 이용해서 개발자가 만든 클래스들의 빈을 직접 자바 코드에서 생성하여 사용한다. @Autowired 의 특징은 다음과 같다. - 기존 XML 파일에서 각각의 빈을 DI로..
(3) @RequestParam 이용해 Map에 매개변수 값 설정하기 * 전송되는 매개변수의 수가 많을 경우 일일이 변수를 저장해서 사용하려면 불편하다. 이번에는 전달되는 매개변수 값들을 Map에 저장해 보자. 1. LoginController 클래스를 다음과 같이 작성한다. @RequestParam Map info는 이름이 info인 Map에 매개변수 이름을 key로, 매개변수 값을 value로 저장하는 구문이다. @RequestMapping(value = "/test/login3.do", method = { RequestMethod.GET, RequestMethod.POST }) public ModelAndView login3(@RequestParam Map info, // @RequestParam을..
3. 스프링 애너테이션 이용해 로그인 기능 구현하기 * 이번에는 스프링 애너테이션을 이용해 로그인 기능을 구현해 보자. 1. 다음은 로그인 기능과 관련된 자바 파일과 JSP 위치이다. 2. 실습 시 한글 깨짐 현상을 방지하기 위해 web.xml에 한글 필터 기능을 설정한다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter /* 3. 스프링 애너테이션 기능을 이용해 로그인 시 전송된 ID와 이름을 JSP에 출력하도록 LoginController 클래스를 작성한다. method={RequestMethod.GET, RequestMethod.POST}) 설정은 GET 방식과 POST..
1. 스프링 애너테이션이란? * 앞에서 살펴봤듯이, 스프링 2.5까지는 DI나 AOP 같은 기능은 따로 XML 파일로 설정한 후 애플리케이션에서 사용했다. 그러나, 애플리케이션의 기능이 복잡해짐에 따라 XML 설정 파일의 내용도 복잡해졌고 관리에도 문제가 생기기 시작했다. * 따라서 스프링 3.0 부터는 DI와 같은 자바 코드와 관련된 설정은 직접 코드에서 할 수 있게 애너테이션(Annotation)이라는 기능을 제공한다. 현재 스프링 기반 애플리케이션에서는 XML에서 설정하는 방법과 애너테이션 기능을 사용하는 방법 두 가지를 혼합해서 사용하고 있다. (1) 스프링 애너테이션 제공 클래스 * 스프링에서 애너테이션을 사용하려면 먼저 스프링에서 제공하는 애너테이션 관련 클래스를 XML 설정 파일에서 빈으로 ..
4. 스프링 트랜잭션 기능 적용해 계좌 이체 실습하기 * 이번에는 계좌 이체 기능을 스프링의 트랜잭션 기능을 적용하여 실습해 보자. * 먼저 SQL Developer 로 예금자 계좌 정보를 저장하는 테이블을 생성한다. 그리고 예금자의 계좌 정보를 다음과 같이 추가한다. create table cust_account( accountNo varchar2(20) primary key, -- 계좌 번호 custName varchar2(50), -- 예금자 balance number(20,4) -- 계좌 잔고 ); insert into cust_account(accountNo, custName, balance) values('70-490-930', '홍길동', 10000000); insert into cust_a..
1. 트랜잭션 기능 * 스프링은 트랜잭션 기능을 마이바티스 기능과 연동해서 사용한다. 트랜잭션 기능은 XML 파일에서 설정하는 방법과 애너테이션을 이용하는 방법이 있다. XML로 설정하는 방법은 설정 파일이 복잡해지면 불편하므로 현재는 애너테이션으로 트랜잭션을 적용하는 방법을 더 선호한다. 따라서 이번에는 애너테이션을 이용해 트랜잭션 기능을 구현해 보자. * 트랜잭션(Transaction)은 여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묶어서 관리하는 것으로, All 또는 Nothing 방식으로 작업 단위가 처리된다. 즉, SQL 명령문들이 모두 정상적으로 처리되었다면 모든 작업의 결과를 데이터베이스에 영구 반영(commit)하지만 그중 하나라도 잘못된 것이 있으면 모두 취소(rollback)..
1. 스프링-마이바티스 연동 관련 XML 파일 설정하기 * 우리는 이전 과정을 통해 웹 프로젝트에서 마이바티스 라이브러리를 추가하여 독립적으로 사용할 수 있음을 알았다. 스프링 기반 웹 애플리케이션을 개발할 때 마이바티스는 데이터베이스 연동 기능을 담당하기 때문에 스프링에서는 간단한 설정만으로 쉽게 마이바티스를 사용할 수 있다. * 이번에는 스프링과 마이바티스를 연동해 회원 관리 기능을 구현해 보자. 우선 스프링 버전 3.0.1을 기준으로 수동으로 직접 설정한 후 관련 XML 파일들을 설정한다. * 메이븐을 통해 중앙 서버에서 자동으로 라이브러리를 받아서 사용하는 방법도 있으나, 이는 나중에 살펴보도록 한다. 1. 새 프로젝트 pro24를 만들고 스프링 라이브러리를 복사해 lib 폴더에 넣는다. * 실습..
5. 마이바티스의 동적 SQL문 사용하기 * 이번에는 마이바티스의 동적 SQL 기능이 왜 등장했는지 그리고 어떻게 사용하는지 알아보자. 다음 첫 번째 SQL문은 아무 조건 없이 모든 회원 정보를 조회하는 SQL문이다. 두 번째와 세 번째 SQL문은 첫 번째 SQL 문에 대해, 두 번째는 ID로, 세 번째는 ID와 비밀번호를 조건절로 하여 회원 정보를 조회하는 SQL문이다. (1) select * from t_member; (2) select * from t_member where id = 'hong'; (3) select * from t_member where id = 'hong' and pwd = '1234'; * 이 SQL문들은 select문에 대해 각각의 조건절에 따라 각각의 SQL문을 따로 작성해..
(5) HashMap을 이용한 회원 정보 추가 * 앞에서는 MemberVO에 회원 정보를 설정한 후 SQL문으로 전달하여 테이블에 추가했다. 이번에는 HashMal에 회원 정보를 설정한 후 추가해 보자. 1. member.xml을 다음과 같이 수정한다. insert 문의 parameterType을 HashMap으로 지정한다. 회원 정보들은 HashMap의 key를 이용해 가져온다. 2. MemberServlet 클래스를 다음과 같이 작성한다. 브라우저에서 전달된 회원 정보를 HashMap에 key/value로 저장한 후 MemberDAO의 insertMember2() 메서드로 전달한다. }else if(action.equals("insertMember2")) { String id=request.getPa..
(3) 조건 값으로 회원 정보 조회 * 다음은 검색창에서 검색 조건을 입력한 후 member.xml의 SQL문에 전달하여 조건에 대한 회원 정보를 조회하는 예제를 실습해 보자. 1. 다음과 같이 실습 파일을 준비하자. 2. member.xml을 다음과 같이 편집한다. 조건 값으로 조회하는 경우는 브라우저에서 전달되는 값이 있으므로 태그에 parameterType 속성을 전달되는 조건 값의 데이터 타입으로 지정한다. 조건 값이 문자열인 경우는 parameterType 속성을 String으로, 정수인 경우는 int로 설정한다. * MemberDAO에서 메서드 호출 시 전달된 조건 값은 매개변수 이름으로 SQL문의 조건식에 #{전달된 매개변수 이름} 형식으로 사용한다. 그리고 조회되는 레코드가 한 개인 경우는..