_Programming/Spring

Spring.Settings

Pro_go 2020. 6. 25. 11:16

폴더구조파악

pom.xml

라이브러리의 관리를 담당.

보통은 maven에서 자동으로 우리가 다운 받은라이브러리를 업데이트 해주지만 

라이브러리가 깨지거나 인식을 하지 못할경우에는 직접 <dependency> </dependency>태그를 사용하여

강제적으로 라이브러리를 등록시킬 수 있다.

<properties> </properties> : 공통적인 속성값들을 묶어 주는 역할을 함.

<dependencies> </dependencies> : 라이브러리들의 모임.

<dependency> </dependency> : 하나의 라이브러리에 대한 정보를 담고있음.

<groupId> </groupId> : 프로젝트의 그룹id를 설정함

<artifactId> </artifactId> : 버전 정보를 생략한 jar파일의 이름.

<version> </version> : 버전 정보를 제공함

 

src/main/java

자바 파일이 모여있는 폴더이다.

우리가 만드는 자바파일은 모두 여기에 구성한다.

 

src/main/resources

자바 코드에서 사용되는 리소스가 들어있는 파일이다.

 

src/test/java

test관련폴더

 

src/main/webapp

모든 jsp및 js파일이 저장되는 곳

 

servlet-context.xml, root-context.xml

Servlet관련 설정 파일

Settings

1.

기본Spring 셋팅

화면, 인코딩 등등..

 

2.

- Tomcat Server 시작세팅

서버 더블클릭 - HTTP/1.1을 8081로 변경

 

- java 버전 변경  javaSE-1.6 --> javaSE-1.8로 변경 후 pom.xml에서도 직접수정

3. xml 설정

- pom.xml

<---<properties> 추가--->
<org.springframework.security-version>4.2.11.RELEASE</org.springframework.security-version>
<org.log4j-version>2.11.2</org.log4j-version>
<fasterxml.jackson-version>2.10.0</fasterxml.jackson-version>
<!-- Spring 추가-->
<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
</dependency>
<!-- AspectJ -->
<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>
<!-- Logging 다 지우고 이것만 셋팅-->
		<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${org.slf4j-version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>${org.log4j-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>${org.log4j-version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.bgee.log4jdbc-log4j2</groupId>
      <artifactId>log4jdbc-log4j2-jdbc4</artifactId>
      <version>1.16</version>
    </dependency>
<!-- Servlet 버전수정-->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		
<!-- DB 추가-->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.3</version>
		</dependency>
		<dependency>
			<groupId>com.zaxxer</groupId>
			<artifactId>HikariCP</artifactId>
			<version>3.4.2</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.6</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.3</version>
		</dependency>
<!-- Util 추가-->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.7</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${fasterxml.jackson-version}</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-xml</artifactId>
			<version>${fasterxml.jackson-version}</version>
		</dependency>
<!-- Security 추가-->
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
			<version>${org.springframework.security-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-web</artifactId>
			<version>${org.springframework.security-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-config</artifactId>
			<version>${org.springframework.security-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
			<version>${org.springframework.security-version}</version>
		</dependency>
<!-- Test 버전수정-->
<version>4.12</version>
 <source>1.8</source>
 <target>1.8</target>

 

- servlet-context.xml

<context:component-scan base-package="com.somcat.cpos.ctrl" />

 

- root-context,xml

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
      <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
      <property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE"></property>
      <property name="username" value=""></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:/MybatisConfig.xml"></property>
      <property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"></property>
    </bean>
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
      <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
    </bean>
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"></property>
    </bean>
    <tx:annotation-driven/>
    <context:component-scan base-package="com.somcat.cpos.persistence"></context:component-scan>
    <context:component-scan base-package="com.somcat.cpos.service"></context:component-scan>

 

- web.xml

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>

<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener
	</listener-class>
</listener>

<!-- Processes application requests -->
<servlet>
	<servlet-name>appServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring/appServlet/servlet-context.xml
		</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>appServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 넘어다니는 데이터들의 값을 encodign해줌 -->
<filter>
   <filter-name>encoding</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>
</filter>
<filter-mapping>
   <filter-name>encoding</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>