반응형

개발 330

[Spring] Spring mybatis 연동하기

스프링 프로젝트를 생성했다고 가정하여 작성하겠다. 그리고 필자는 MySQL 를 사용했고 DB를 생성해주자. 스프링 프로젝트를 생성하면 다음과 같은 구조로 생성이 돼 있을 것이다. [사진 1: 스프링 프로젝트 구조] mybatis 를 사용하기 위해 maven dependency 를 추가해주어야 한다. pom.xml 에 다음에 내용을 추가해주자. [사진 2: maven dependency 추가 (pom.xml)] maven build 를 해준 뒤 [WEB-INF/spring/root-context.xml] 파일로 이동한다. 이제 root-context.xml 파일에 mysql 접속정보와 sqlSession, sqlSession 을 관리하는 sqlSessionFactory, 트랜잭션을 관리하는 transact..

개발/Spring 2017.08.16

[Spring] juso.go.kr 의 도로명 API 사용하기

우선 API 를 사용하기 위한 샤이니 키를 발급 받았다고 가정하고 이야기하겠다. 필자는 ModelAndView 객체를 반환하여 jsp 파일에 전달하려고 한다. String searchText = request.getParameter("key값"); String currentPage = "이 값은 0보다 커야한다"; String countPerPage = "총 얼마나 리스트로 보여줄지 정하는 값"; String apiUri = "http://www.juso.go.kr/addrlink/addrLinkApi.do?currentPage="+currentPage+"&countPerPage="+countPerPage+ "&keyword="+URLEncoder.encode(searchText,"UTF-8")+"&co..

개발/Spring 2017.08.14

[Java] Java IO 에 대해서

Java IO 는 예전부터 많이 느리다는 이야기가 있었다. 하지만 내부적으로 어떻게 동작하는지는 대충 알고 있었기 때문에 좀 더 자세히 알아야 할 필요가 있을 것 같다. 우선 Java IO 는 OS에서 관리하는 커널 버퍼에 직접 접근할 수 없으며, Blocking IO 이기 때문에 매우 비효율적이다. 모 블로그에서는 기존 자바 IO에서는 커널 버퍼를 직접 접근하는 Direct Buffer 를 핸들링 할 수가 없다고 한다. 그래서 소켓이나 파일에서 stream 이 들어오면 커널 버퍼에 쓰여지게 되는데 Code 상에서 접근 할 수 있는 방법이 없었기 때문이라고 한다. 그래서 JVM 이 JVM 내부의 메모리에 불러온 후에 이 데이터에 접근 할 수 있었는데 바로 이때 오버헤드가 발생해 느리다는 것이다. 기존의 ..

개발/Java 2017.08.08

[Java] 자바 코드로 .java 파일 컴파일 후 클래스 파일 실행해 결과값 출력

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class Cmd { private StringBuffer buffer; private Process process; private BufferedReader bufferedReader; private StringBuffer readBuffer; private File file; private BufferedWriter bufferWrite..

개발/Java 2017.08.01

[Java] Java 코드로 CMD 명령어 실행해 결과값 출력하기

자바 코드를 통해 메모장에 있는 코드들을 컴파일 해 그 결과값을 얻어보고 싶어졌다. 그래서 자바 코드로 CMD 명령어를 실행해야 하는데 다른 블로그에서는 실제 예제가 없어서 직접 코드를 쳐서 만들어 보았다. 나는 우선 "ipconfig" 라는 명령어를 자바 코드에서 실행해 결과값을 얻어보고 싶어졌다. import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; public class Cmd { private StringBuffer buffer; private Process process; private BufferedReader bufferedReader; private StringBuffer rea..

개발/Java 2017.08.01

[Spring] DAO 개선하기 - 3

이제 상속을 통한 DAO 확장을 해보자. UserDao 소스코드를 N사와 D 사에 변경해서 제공해주지 않고도 고객 스스로 원하는 DB 커넥션 생성 방식을 적용하도록 해보도록 하겠다. 그 방법으로 UserDao 에서 getConnection() 메소드를 추상 메소드로 만들면 된다. 그렇다면 N사와 D사에서는 getConnection() 메소드를 자신들이 원하는 방법으로 구현을 한다면 다른 기존의 코드를 변경하지 않고 해당 메소드만 구현하면서 사용할 수 있을 것이다. /* 상속을 통한 확장 방법이 제공되는 UserDao 클래스 */ public abstract class UserDao { public void add(User user) throws ClassNotFoundException, SQLExcept..

개발/Spring 2017.07.08
반응형