English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
간단함의美, springmvc, mybatis는 좋은 간단한 통합 솔루션으로, 일반 프로젝트 요구사항을 충족할 수 있습니다. 여유 시간에 프로젝트 설정 파일을 공유하여 모두가 참고할 수 있도록 합니다:
1기본적으로 우리는 다음과 같은 pom 의존성을 확인해 보겠습니다:
<!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <!-- mybatis 패키지 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis/artifactId> <version>3.2.8</version> </dependency> <!--mybatis 스프링 플러그인 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- mysql 연결 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> <!-- 데이터 소스 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.12</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.4</version> </dependency> <!-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- json --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <!-- 파일 업로드 --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency>
스프링이 선택한 것은4.1.4버전에 따라 시스템 필요에 따라 적합한 버전을 선택할 수 있습니다.
2. 관련 구성 파일:
a)spring.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <!--구성 속성 파일을 포함합니다 --> <context:property-placeholder location="classpath:config.properties" /> <!--자동으로 @Service를 포함한 스프링 빈으로 주입합니다 --> <context:component-scan base-package="com.demo.report.web.service" />
b)spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <!-- 자동으로 controller 패키지 하위 모든 클래스를 스캔하여, @Controller에 의해 bean이 주입된 경우 --> <context:component-scan base-package="com.demo.report.web.controller" /> <!-- IE가 AJAX를 실행할 때, JSON이 다운로드 파일로 표시되지 않도록 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson"2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- Spring MVC의 애노테이션 기능을 시작하여 요청과 애노테이션 POJO의 매핑을 완료 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- json 변환기 --> <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean> <!-- 모델 뷰 이름의 해석에 대한 처리, 즉 모델 뷰 이름에 전후缀를 추가 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="" /> <property name="suffix" value=""}} /> </bean> <!-- 다중 파일 업로드 설정 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding"> <value>UTF-8</value> </property> <property name="maxUploadSize"> <value>32505856</value> </property> <property name="maxInMemorySize"> <value>4096</value> </property> </bean>--> </beans>
c)spring-mybatis.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd "> <!-- 데이터 소스 설정 사용하는 것은 Druid 데이터 소스 --> <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 초기 연결 크기 --> <property name="initialSize" value="0" /> <!-- 연결 풀 최대 사용 가능 연결 수 --> <property name="maxActive" value="20" /> <!-- 연결 풀의 최소 비활성화된 연결 --> <property name="minIdle" value="0"> /> <!-- 연결을 얻는 데 최대 기다림 시간을 설정합니다 --> <property name="maxWait" value="60000" /> <property name="poolPreparedStatements" value="true"> /> <property name="maxPoolPreparedStatementPerConnectionSize"> value="33" /> <!-- 유효한 SQL을 검사하는 데 사용됩니다 --> <property name="validationQuery" value="${validationQuery}"> /> <property name="testOnBorrow" value="false"> /> <property name="testOnReturn" value="false"> /> <property name="testWhileIdle" value="true"> /> <!-- 평균적으로 얼마나 자주 검사를 수행할지 설정합니다. 검사는 필요한 비활성화된 비활성화된 연결을 단위 밀리초로 설정합니다 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 연결이 풀에서 최소 생존 시간을 설정합니다. 단위는 밀리초입니다 --> <property name="minEvictableIdleTimeMillis" value="25200000" /> <!-- removeAbandoned 기능을 활성화합니다 --> <property name="removeAbandoned" value="true"> /> <!-- 1800초, 즉30분 --> <property name="removeAbandonedTimeout" value="1800" /> <!-- abandoned 연결을 닫을 때 오류 로그를 출력합니다 --> <property name="logAbandoned" value="true"> /> <!-- 데이터베이스를 모니터링합니다 --> <property name="filters" value="mergeStat"> /> </bean> <!-- myBatis 파일 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- entity 디렉토리를 자동으로 스캔하여 Configuration.xml에서의 수동 설정을 줄입니다 --> <property name="mapperLocations" value="classpath:com"/demo/report/web/mapper/*.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.feidai.report.web.mapper" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> <!-- 트랜잭션 관리자 설정 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean>
d)web.xml
<display-name>springmvc_mybatis_demo</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml,classpath:spring-mybatis.xml</param-value> </context-param> <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> <listener <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 스프링 메모리 누수 방지 리스너 --> <listener <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <servlet> <description>스프링 MVC 서블릿</description> <servlet-name>rest</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring-mvc.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>rest</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping> <!-- session 초과 시간을 설정합니다. 단위는 분입니다. --> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
druid 데이터 소스를 사용했으며, 웹에서의 상세 구성은 코드를 참조하세요.
이것이 springmvc mybatis 통합 구성 자료 정리입니다. 앞으로도 관련 자료를 계속 추가할 예정입니다. 많은 관심과 지원에 감사합니다!
선언: 이 문서의 내용은 인터넷에서 가져왔으며, 저작권은 원저자에게 있으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 이 사이트는 소유권을 가지고 있지 않으며, 인공 편집을 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 위반이 의심되는 내용이 있으면 이메일로 notice#w에 보내 주세요.3codebox.com에 이메일을 보내면 (#을 @으로 변경하세요) 신고를 하고 관련 증거를 제공하세요. 사실이 확인되면, 사이트는 즉시 위반 내용을 삭제합니다.