2022.10.24 Spring-4

차유빈·2022년 10월 24일
0

[JDBC] 환경설정 1

SpringJDBC 프로젝트 생성 후 pom.xml에 라이브러리 추가

  1. 스프링-JDBC 라이브러리
  2. 오라클6 ojdbc6 드라이버
  3. DBCP(커넥션 풀) 라이브러리
    JDBC : 데이터베이스와 프로그램을 연결시켜주는 것(JDBC Driver => 오라클, mysql 등)


[JDBC] 환경설정 2

BeanConfigClass.java

MainClass.java

JdbcBean.java

  • DB에 데이터 전달용 클래스 JdbcBean을 빈 등록
  • JdbcBean 빈 등록 ( @컴포넌트)
    프로토타입 빈 => 싱글톤(기본)이 아니라 사용할때마다 새로운 객체 생성함

JdbcDAO.java


[JDBC] 데이터소스 설정, JDBC템플릿

  • 데이터소스 객체에 커넥션풀 연결을 위한 DB정보들을 입력하고 JDBC템플릿에 주입하여 JDBC템플릿을 DAO에 주입하여 DB연결해 CRUD(저장,읽기,수정,삭제) 메서드들을 작성

BeanConfigClass.java에 DataSource, Bean 코드 추가

  • BasicDataSource source 객체 안에 @Bean의 BasicDataSource 정보가 자동으로 들어감
  • return된 db는 jdbcDAO에서 사용

[JDBC] DAO 입력하기

JdbcDAO.java

MainClass.java

오라클 테이블 데이터에 추가됨


[JDBC] DAO 가져오기

  • 자바 JDBC 에서는 SELECT 문의 결과를 ResultSet rs로 받아서 반복문을 통해 List<빈타입>에 넣어서 리턴하였는데, 이 과정들을 JDBCTemplate에서는 RowMapper를 사용해 간략화시킴

MapperClass.java

JdbcDAO.java

MainClass.java


[JDBC] 수정, 삭제하기

수정

JdbcDAO.java

  • 어떤 int_data의 str_data를 어떤 데이터로 바꿀지?

MainClass.java

삭제

JdbcDAO.java

MainClass.java

1번이 삭제됨


[MyBatis] 환경설정

  • mybatis는 JDBC 라이브러리를 보다 편하게 DB 작성 가능

MyBatis 프로젝트 생성 후 mybatis , mybatis-spring 디펜던시 추가

JdbcBean.java

MapperInterface

  • 여기에 CRUD 작성하면 됨

BeanConfigClass.java

  • Mapper 객체 (타입 명시)만들어주면됨

**MainClass.java

  • 매퍼인터페이스를 구현한 빈 객체를 불러오기
  • Mybatis에서는 DAO를 mapper라고 함
  • 테이블 개수 만큼 mapper 만들면 됨


Spring MVC

  • Spring 내에서 Web 개발을 위한 웹 전용 프레임 워크

기존의 Servlet/JSP구성에서 Spring MVC Library가 추가되는 것


새 워크스페이스 , 환경설정, MVC 서블릿 JSP 프로젝트(이전)

새 워크 스페이스 만든 후 환경 설정 하기
폰트사이즈, 톰캣 서버 설정, enco 검색 후 한글 설정 UTF-8 변경, java 1.8버전, 웹 브라우저 크롬 설정 등


MVC 모델 복습

ServletMVC 프로젝트 생성(Dynamic web project)

index.jsp

HomeController.java

  • viewName : url 주소가 보여지는 이름

main.jsp

test1.jsp

test2.jsp

  • 사이트 3개로 분리
  • 클릭 시 아래와 같은 주소들로 이동


MVC 모델 복습-2

MVC 서블릿, 파라메터 처리, 모델 요청, 리퀘스트로 데이터 전달

1. 컨트롤러 서블릿에서 요청 주소를 체크해서 포워드(request를 유지)

2. main.jsp 에 파라메타를 추가해서 보내는 a태그 만들기

3. 컨트롤러에서 파라메터를 처리

index.jsp

test1.jsp 페이지에서 결과 출력(test2.jsp 동일)

Test2 Service.java

  • 특정 코드들은 model 패키지에서 만들면 됨


디스패처서블릿, 프로젝트 세팅 (공통부분)

  • 슈퍼 컨트롤러 (컨트롤러 중의 가장 상위 컨트롤러)로써, 요청이 들어왔을 때 어떤 컨트롤러로 줄지 결정함


SpringMVCStep1 프로젝트 생성 후 메이븐 프로젝트로 변환

  • 프로젝트 오른쪽 마우스 -> Configue -> convert to Maven project
  • 기존 메이븐 프로젝트 생성하는 것과 다른 점 : Servlet 포함

pom.xml에 아래와 같이 설정

서블릿, JSP, JSTL, 스프링-MVC 등이 라이브러리에 추가됨


XML 세팅 - 1

SpringMVCXml 프로젝트 생성 후 메이븐 변환

1. web.xml

  • 웹프로젝트의 배치 기술서(deploy descriptor, 웹프로젝트의 환경설정파일)
  • 스프링 프로젝트가 실행되면 가장 먼저 web.xml을 읽어 들이게 되고 위에서부터 차례로 태그를 해석하기 시작한다.

2. servlet-context.xml

  • web.xml에서 DispatcherServlet(스프링에 내장된 컨트롤러)로 이동하게 되고, /WEB-INF/spring/appServlet/servlet-context.xml을 참조하게 된다. (MVC 설정을 위한 xml 즉 빈 객체들을 정의)

3. /WEB-INF/spring/root-context.xml
일반적인 자바 객체 즉, Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정을 해줍니다.


XML 세팅 - 2

servlet-context.xml

HomeController

  • @RequestMapping 의 특정 주소 "/"로 요청(get)이 들어올경우 해당 메서드 실행
  • 자바 코드 system.out.println("home"); 을 실행 한 후 views 폴더 내의 index.jsp 파일을 리턴까지 가능

WEB-INF -> views 폴더 안의 index.jsp


HomeController.java

image 파일에 이미지 넣기

servlet-context.xml

index.jsp

profile
chacha's 프로그래밍 공부

0개의 댓글