본문 바로가기
Back/spring

spring 환경 설정

by 시월해 2021. 6. 23.

projectlombok.org/download

Specify locatio... - sts 설치폴더-sts.exe 선택-install

CGLib - 2.2.2

mvnrepository.com

 

lombok 검색 - Project Lombok 선택 - 1.18.20버전 선택-나온 코드 복사-pom.xml 파일 110라인쯤(디펜던시 있는 장소 아무데나)

 

spring-jdbc 3.3.1 release 검색

 

[라이브러리 추가]

현재 프로젝트/pom.xml 

<!-- spring-jdbc 라이브러리 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

------------------------------------------------

<!-- lombok 라이브러리 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
    <scope>provided</scope>
</dependency>

------------------------------------------------

<!-- cglib(애노테이션) 라이브러리 -->
<dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.2.2</version>
</dependency>

------------------------------------------------

<!-- c3p0(스프링 커넥션풀 설정) 라이브러리 -->
<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5.2</version>
</dependency>

-------------------------------------------------

<!-- Spring AOP aspectjweaver 라이브러리-->
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.9.5</version>
</dependency>

-------------------------------------------------

<!-- mybatis 프레임워크 라이브러리-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.1.1</version>
</dependency>

<!-- mybatis-spring 라이브러리 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.1.1</version>
</dependency>

 

[한글 인코딩]

현재 프로젝트/WEB-INF/web.xml 

<!-- 한글 인코딩 설정 작업 -->
<filter>
   <filter-name>encodingFilter</filter-name>
   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
   <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
   </init-param>

   <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
   </init-param>
</filter>

<filter-mapping>
   <filter-name>encodingFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

 

[데이터베이스 연결(스프링 작업 시 설정 파일 설정하는 공간)]

현재 프로젝트/WEB-INF/spring/root-context.xml 

<!-- JDBCTemplate 연결 시 -->
<!-- 1. DataSource 정보 설정 ==> DB와 관계된 connection(연결방식) 정보 객체 -->
<bean name="dataSource"
	class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
  <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
  <property name="username" value="web"/>
  <property name="password" value="1234"/>
</bean>

<!-- 2.Spring JDBCTemplate 클래스 설정 -->
<bean name="template" class="org.springframework.jdbc.core.JdbcTemplate">
  <property name="dataSource" ref="dataSource"/>
</bean>

-----------------------------------------------------------------------------------

<!-- MyBatis 연결 시 -->
<!-- 1. c3p0 커넥션풀 DataSource 클래스 설정 -->
	<bean name="dataSource"
	   class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
		<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE" />
		<property name="user" value="web" />
		<property name="password" value="1234" />
	</bean>

<!-- 2. SqlSessionFactory 클래스 설정 -->
	<bean name="sqlSessionFactory"
		  class="org.mybatis.spring.SqlSessionFactoryBean">
		  <property name="dataSource" ref="dataSource" />
		  <property name="mapperLocations" value="classpath:/mapper/*.xml" />
	</bean>
    
<!-- 3.SqlSessionTemplate 클래스 설정 -->
	<bean name="sqlSession"
		  class="org.mybatis.spring.SqlSessionTemplate">
		<constructor-arg ref="sqlSessionFactory"></constructor-arg>
	</bean>

 

 

[context:component-scan 경로 패키지 삭제]

현재 프로젝트/main/webapp/WEB-INF-spring-appServlet/servlet-context.xml

 

[mapper 패키지 생성]

 

[MyBatis XML 파일 설정]

<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- namespace 명은 패키지 포함해서 인터페이스 이름으로 작성
	 namespace는 mapper 툴을 구분하는 식별자로 매우 중요
	 속성의 id는 중복 불가
	 resultType은 반환할 객체 타입명(제너릭) -->

<mapper namespace="com.spring.model.EmpDAO">
	<select id="allList" resultType="com.spring.model.EmpDTO">
		select * from emp order by empno
	</select>
</mapper>

 


constructor-arg 인자 생성자에 지정된 매개변수


@NoArgsConstructor : 인자를 갖지 않는 생성자
@AllArgsConstructor : 멤버 전체를 인자로 가지는 생성자

namespaces 탭
c constructor의 약자 c:manager -> 인자 생성자에 선언된 manager라는 매개변수
p property의 약자

 

프로젝트 오른쪽 클릭 -> build path -> configure build Path -> Libraries 탭 -> Add External JARs... -> ojdbc6.jar 첨부