------

[ AD ] Port Monitor ( Try to use a Best WebSite Monitoring Tool )

------

 

1. 참조글 :



<pre class="brush:html">

나이유미의 자유기고 문서 모음 입니다. 이곳에서는 프로그램 개발 방법론과 연구 문서를 소개 합니다.

spring + mybatis + mysql + jsp(jstl) 환경 설치 성공


http://naiyumie.inour.net/archives/2787

Posted 2014년 3월 29일 자유기고

감동의 도가니다. 6년 묵은 체증이 쏴악 내려가는거 같다. 속이다 시원하다.

6년동안 못하고, 방치하고, 포기하고, 피해왔던 것이 해결됬다.

스프링+마이바티스 관련 환경 설정을 잡게 된것이 바로 그것.

 
과거에는 주로 서블릿/jsp/jdbc 즉, 모델1으로 코딩하였다.

자바 서블릿 특유의 서블릿을 상속 받으므로써 상속이 안되는 아쉬움

jdbc사용시 중복되는 익셉션 처리와 코딩보다 많은 try catch 블럭.

css, js, image, html의 정적파일들을 갱신을 못하는 이클립스 톰캣에 불편함이 많았다.

개발 특유의 보도방 체제에 이끌어줄 인연(멘토)을 만나기 어려운것도 있었다.

어노테이션을 활용한 일괄처리(?), vo, dao, service가 한세트 되는 모델 구조와

자바 특유의 아름다운 문법과 객체 캡슐화에 대해 깔끔함을 느끼게 되었는데

실상 web으로는 그림의 떡으로써 그러한 즐거움을 누려보지 못했다.

 

최근에 이 링크( http://wp.me/p3W5K9-IQ )를 통해 스프링 프로젝트 생성을 성공 한적이 있다.

그 뒤로 마이바티스를 연동하다가 멘붕이 왔었는데 우연히 발견한 '쉽게 따라 하는 자바 웹 개발' 서적,

구매 하진 못하고 서점에서 훑어 보았다.

그리고 '쉽게하자 STS – Spring Tool Suite + mysql + mybatis + tomcat' ( http://blog.naver.com/refreshin/150170189512?viewType=pc ) 링크는 정말 많은 도움이되었다.

그렇게… 드디어 환경 구성을 마쳤다. 이제 책을 보고 웹서핑하고 구글링해서 코딩하면 된다.

 

이번에 여러 검색과 스터디를 통해 그러한 불편한점들이 하나씩 해결 되어가는 느낌이고 뭔가 쑥쑥 풀려가서

안드로이드와 함께 스프링과 좀더 친해 질것 같다. 잠시 python+flask는 내려 놓아야 할듯 싶고,

또한 시니어 개발자분을 만나게서 되서 많은 멘토링을 부탁 드려야 할것 같다.

 

아무튼 건망증땜에 나름의 로그를 정리 하여 남긴다.

</pre>


2. 아래글 : 

위의 글 내용을 따라서 실행하다가 발생한 주의할점들 정리

 

0) pom.xml – Maven설정파일

pom.xml 마우스오른쪽 클릭 > Maven > Add Dependency mybatis와 mysql 설정해준다. 혹은 pom.xml더블클릭하여  Dependencies에서 추가할 수 있다.

Group Id : org.mybatis 
Artifact Id: mybatis
Version : 3.2.2

Group Id : org.mybatis 
Artifact Id: mybatis-spring
Version : 1.2.0

Group Id : mysql 
Artifact Id: mysql-connector-java
Version : 5.1.25

Group Id : org.springframework 
Artifact Id: spring-jdbc
Version : 3.2.3.RELEASE

(dependency정보는 http://mirrors.ibiblio.org/ 에서 찾을 수 있다.)


조심해야 하는 부분 :


1) 에러발생

Failed to convert property value of type 'java.lang.String' to required type

 

2) root-context.xml설정

src > main > WEB-INF > spring > root-context.xml에 빈 추가(파일오른쪽 클릭 Bean Definition) 혹은 더블클릭하여 beans에서 추가한다.

이런것도 GUI로 가능하다. -- 대부분의 value에서 ref로 변경이 필요함

Id : dataSource
Class[Browse]: org.apache.ibatis.datasource.pooled.PooledDataSource


next – [add] Properties


name : driver
value : [input] com.mysql.jdbc.Driver


name : url
value : jdbc:mysql://localhost:3306/spring 디비 테이블 확인.


name : username
value : root


name : password
value : pass


Id : sqlSessionfactory
Class[Browse]: org.mybatis.spring.SqlSessionFactoryBean -Maven에서 설정해놓았던 mybatis-spring-1.2.0.jar에있는 class사용


next – add Properties


name : dataSource
value : dataSource


name : configLocation
value : classpath:/mybatis/mybatis-config.xml 오류무시체크 후 Finish mybatis-config.xml은 후에 생성함.


Id : transactionManager
Class[Browse]: org.springframework.jdbc.datasource.DataSourceTransactionManager


next – add Properties
name : dataSource
value : dataSource


Id :sqlSession
Class[Browse]: org.mybatis.spring.SqlSessionTemplate


next – add Constructor Args (!)확인
value : 
ref : sqlSessionFactory

 


You're probably using

<property name="[variable]" ref="[bean]"/>

instead of

<property name="[variable]" value="[bean]"/>

ref references a spring bean, value translates to string.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!– Root Context: defines shared resources visible to all other web components –>

    <bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource">
        <property name="driver" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/spring"></property>
        <property name="username" value="root"></property>
        <property name="password" value="암호"></property>
    </bean>
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml">
        </property>
    </bean>
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg ref="sqlSessionFactory"></constructor-arg>
    </bean>
</beans>

 

 

3) 그리고, 또 나오는 이슈

java.io.FileNotFoundException: Could not open ServletContext resource [/classpath*:WEB-INF/myBatis-config.xml]

There is two option for you.

Place your myBatis-config.xml inside WEB-INF/classes folder, and say classpath:myBatis-config.xml

 

Since you are using maven src/main/resources is already in the classpath so you can place your file under src/main/resources and reference it using classpath:myBatis-config.xml

 


<참고> 유사한 페이지

[Spring] Spring Tool Suite(STS) + MySQL + MyBatis

http://hangaebal.blogspot.com/2014/08/spring-spring-tool-suitests-mysql.html

 

 

'0.일반개발' 카테고리의 다른 글

Spring MVC Project + myBatis+ MySQL ( 요약 )  (0) 2015.07.08
Spring 환경 구성  (0) 2015.07.07
*.properties  (0) 2015.06.26
리눅스 sftp 서버  (0) 2015.06.25
CentOS  (0) 2015.06.25

+ Recent posts