본문 바로가기

WEB Framwork/Spring

(12)
Spring Intro - 2. Spring Framework란? 먼저 스프링이란 무엇일까? 스프링 프레임워크의 정의는 다음과 같다. 자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 어플리케이션 프레임워크 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크 자바 개발을 위한 프레임워크로 종속 객체를 생성해주고, 조립해주는 도구 POJO(Plain Old Java Object) BEAN CONTAINNER 즉, 자바 객체를 직접 관리하며, 각 객체의 생성과 소멸 = 라이프 사이클을 관리해준다. 이러한 특성 때문에 스프링 컨테이너에 내가 사용할 객체를 맡겨두고 필요할 때 받아온다. 그래서 제어반전(IoC) (컨트롤의 제어권이 사용자가 아니라 스프링에서 제어), 의존성주입(DI) (각 계층이나 서비스 간에 의존성이 존재할 경우 연결..
Spring Intro - 1. MVC 란? MVC는 기본적으로 Model View Controller의 약자로 프로그램 개발 시 세가지 역할로 구분하여 개발하는 방법론이다. 이렇게 하는 이유는 완벽한 분업화를 통해 해당 역할 개발자가 자신의 역할에만 집중하여 개발 하기 위함이다. 위의 그림을 보고 MVC가 분업화를 어떻게 이루는지 설명해 보도록 하겠다. 먼저, App개발시에는 Controller단은 Service까지가 개발의 끝이고, Web단으로 갔을 때, 위의 그림 처럼 각 기능을 수행할 Controller와 사용자의 요청에 따라 그것을 제어해 줄 Dispatcher Servlet 그리고 알맞은 컨트롤러로 전달해 줄 Handler Mapping, 다시 반환 할 때, 알맞은 JSP로 보내줄 View Resolver가 존재한다. 먼저, DB개발자와..
Spring DB - 7. Mybatis 연동 먼저 MyBatis는 무엇인가? MyBatis는 개발자가 지정한 SQL, 저장프로시저, 매핑을 지원하는 프레임워크이다. MyBatis는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해준다. 또한 DB 레코드 원시타입과 Map 인터페이서, 자바 POJO를 설정해 매핑하기 위해서 XML과 Annotation을 사용할 수 있다. 이제, MyBaits를 구현하기 위해 필요한 것을 알아보자 XML 설정파일이 필요하다 위에서 언급했듯이, MyBatis의 전반적인 정보가 담긴 설정파일이 필요하다. Mapper.xml 파일 작성하기 인자값 매핑과 결과값 매핑 정보를 포함한 Sql문을 작성하는 곳이다. SqlSessionFactory 빌드를 통해 DAO를 구현한다. 여기서 보여지는 사진들은 대..
Spring DB - 6. DataSource Spring 앞선 JDBCUtil Spring의 글을 읽어야 추가적인 흐름이나 기존에 추가된 라이브러리 파일을 볼 수 있으므로, 앞선 글을 읽고 읽는것을 추천한다. 갑자기 왜 굳이 DataSource를 쓰는지 JDBCUtil과의 차이점을 궁금해 할 수 있는데 먼저 사용하는데 있어서의 불편한점은 다음과 같다. 파라미터 맵핑을 직접 시켜줘야한다 “ ? “로 타입과 위치를 직접 지정해주어야하고 Result값을 타입과 컬럼명을 하나하나 직접 지정해서 꺼내야한다. 다른 관점에서는 jdbc를 사용하여 db에 접속하기 위해서는 드라이버를 로드하고 db에 접속하여 connection 객체를 받아와야 한다. 이런식이면 db에 쿼리를 보낼때 마다 드라이버를 로드하고 커넥션을 생성하고 닫게되는데 커넥션을 생성하고 다는데 시간이 소모되기..
Spring DB - 5. JDBC Spring 이 게시글에서는 JDBC를 xml설정 파일을 통해 dao와 service를 수행하는 방법에 대해 알아 볼 것이다. 이 글을 보기전에 Java메뉴에서 MVC, Spring에 대한 글을 읽고 수행흐름을 파악한 후 이 게시글을 보아야 무슨 내용인지 이해할 수 있을 것이다. Maven MVC Project를 만들어보는 것은 Tomcat을 깔고 테스트 할 때, 해보았다. 만약 방법을 모른다면 Maven MVC Project 만들기를 보고 만들어 보자. Spring단을 배우려 한다면 클래스, 패키지 만드는 것은 굳이 보여주지 않아도 다 할것이다. Maven Project는 모든 라이브러리를 pom.xml에서 dependecy에 그 값을 추가하여 관리한다. 다음 그림과 같이 JDBC 라이브러리를 추가해 주자 depe..
Spring DB - 4. JDBCUtil을 만들어 사용해보자. 매번 Java에서 DB를 사용할 때 마다 Connection과 그 환경설정을 일일이 만들어야 한다면, 그 불편함은 말로 할 수 없을것이다. JDBCUtil이라는 Class를 만들어 그 설정을 해주는 함수를 구축하고 다른 클래스에서 편하게 써보도록 하겠다. 먼저 C드라이브에 file이라는 폴더를 만들고 그 안에 dbinfo.txt파일을 만들자. 이는 JDBC url, id, pw, driver등의 정보를 넣어 놓은 후 편하게 읽어와 수행하게 하기 위함이다. dbinfo는 다음과 같이 작성되야하며 뒤에 띄어쓰기가 하나만 있어도 바로 오류가 발생한다. 이제 JDBCUtil 클래스를 만들어 보자. getConnection이라는 함수를 만들어 보도록 하자. 먼저 Properties라는 클래스를 만들어 앞서 만들어..
Spring DB - 3. JDBC 연동 먼저 자바 프로젝트를 만든 후 우클릭하여 Properties 환경설정을 해주자 Java Build Path에서 Libraries에서 Add External JARs를 누른 후 Oracle DB연동시 사용했던 Ojdbc6.jar를 추가하자. 파일경로도 똑같다. 이제 클래스파일을 만들어 보고 수행할 텐데 먼저 설명을 하도록 하겠다. 먼저, Class.forName(“드라이버 명”)을 통해 Oracle드라이버를 호출 한다. 이 때, DriverManager에 해당 Driver가 자동등록되고 따라서 Connection을 얻어 쓸 수 있게 된다. (이 때, 만약 Driver 클래스가 없다면 ClassNotFoundException이 발생한다.) 이제 Connection 을 DriverManager에서 getCon..
Spring DB - 2. Oracle DB - Eclipse 연동 이제 Scott계정을 설정해보자. sql문은 @C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql 이다. 이 후 비밀번호 변경 까지 해준 후 Scott 계정으로 들어간다. Scott계정이 정상적으로 설정되었는지 Table을 조회해보자. 정상적으로 DB가 설정이 끝났으므로 Eclipse와 연동을 해보자 우측 상단 모서리 JAVAEE를 누른 후 하단 Data Source Explorer에서 우클릭 new를 한 후 Oracle Driver를 눌러주고 Name을 Scott으로 해준 후 넘어가자. Drivers옆에 설정 아이콘을 누르자. Oracle Thin Driver 11을 선택한 후 JAR List로 넘어가자. Add JAR/Zip으로 들어..