intelij에서 서버를 로드했을때 나오는 에러이다

1099포트가 사용중이라는 것 같은데

cmd 창을 실행 후

netstat -ano|find "1099"

현재 실행 중인 프로그램들이 뜬다

 

끝에보이는 9376 pid를 가진 프로그램들을 삭제하기위해

작업관리자 - 세부정보에서 pid가 9376인 프로그램들을 종료한다

그리고 서버를 가동하면 정상적으로 로드됨

driverClassName를 인식하지 못해서 생기는 문제이다

root-context.xml

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
        <property name="url" value="jdbc:log4jdbc:postgresql://ip:port/db명"></property>
        <property name="username" value="db접속아이디"></property>
        <property name="password" value="db접속비번"></property>
</bean>

 

log4jdbclog4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.slf4jSpyLogDelegat

 

클래스명(slf4jSpyLogDelegat)의 s가 소문자로 되있었는데 클래스명은 Slf4jSpyLogDelegat이다

대문자로 고쳐주었더니 정상적으로 로드되었다

수정 전

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "//mybatis.org/DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jds.mavenSpringProject.mapper.UserMapper">
    <select id="getUserList" parameterType="UserVO" resultType="UserVO"><![CDATA[
        SELECT USER_NM
        FROM CMPNY_USER
    ]]></select>
</mapper>

 

수정 후

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "//mybatis.org/DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jds.mavenSpringProject.mapper.UserMapper">
    <select id="getUserList" parameterType="com.jds.mavenSpringProject.vo.UserVO" resultType="com.jds.mavenSpringProject.vo.UserVO"><![CDATA[
        SELECT USER_NM
        FROM CMPNY_USER
    ]]></select>
</mapper>

 

parameterType의 경로를 찾을 수 없어 생긴 오류였다

스프링 기본 설정 중 발생 한 오류이다 slf4j 관련 dependecy가 없어서 의존성 주입을 해주면 된다

  <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.5</version>
   </dependency>
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.7.5</version>
   </dependency>

intelij로 실서버에 반영하기 전 maen으로 빌드테스트를 하는데 오류가 발생했다

No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system.

해석해보니 올바른 maven을 찾을 수 없다고 나오는데 홈디렉토리 경로를 설정해주면 해결된다

intelij 상단에 settings - maven - mavenhomepath

mavenhomepath가 use maven weapper로 되어있다

 

bundled (maven 3) 으로 선택 한 후 apply 해주면 정상적으로 빌드 됨

mapper를 정렬하던 중 에러가 발생했다 원인은 xml 파일 태그 맨위 상단에 공백이었다

허무했다...

 

조회 된 결과값이 많을 때 return type을 List로 지정하지않았기때문이다

여기서의 return type은 service에서 mapper로 파라미터를 보내줄때의 return type을 의미한다

변수명이 property name명과 충돌나서 username을 제대로 찾지못했다

변수명 앞에 jdbc. < 명시해주니 잘 접속됨

  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

+ Recent posts