English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
간단함의美, 스프링 MVC, 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>
spring이 선택한 것은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/컨텍스트 http://www.springframework.org/schema/컨텍스트/spring-컨텍스트-4.1.xsd"> <!--설정 파일을 포함하도록 추가합니다 --> <context:property-placeholder location="classpath:config.properties" /> <!--자동 스캔하여 @Service를 포함한 것을 bean으로 주입합니다 --> <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/컨텍스트 http://www.springframework.org/schema/컨텍스트/spring-컨텍스트-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
<표시-name>springmvc_mybatis_demo</표시-name> <컨텍스트-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml,classpath:spring-mybatis.xml</param-value> </컨텍스트-param> <필터 <필터-name>encodingFilter</필터-name> <필터-class>org.springframework.web.filter.CharacterEncodingFilter</필터-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> </필터> <필터-mapping> <필터-name>encodingFilter</필터-name> <url-pattern>/*</url-pattern> </필터-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>spring mvc servlet</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 데이터 소스를 사용한 web에서의 상세 구성은 코드를 참조하십시오.
위에서 설명한 것은 편집자가 여러분께 소개한 springmvc와 mybatis 통합 구성 예제의 상세 설명입니다. 여러분께 도움이 되길 바랍니다. 어떤 질문이나 의문이 있으시면, 댓글을 남겨 주시면 편집자가 즉시 답변을 드리겠습니다. 또한, 여러분의呐喊 교본 사이트에 대한 지원에 깊이 감사드립니다!
안내: 본 문서의 내용은 인터넷에서 수집되었으며, 저작권은 원저자에게 있으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 이 사이트는 소유권을 가지지 않으며, 인공적인 편집 처리를 하지 않았으며, 관련 법적 책임을 부담하지 않습니다. 저작권 침해가 의심되는 내용을 발견하시면, notice#w 이메일로 발송해 주시기 바랍니다.3codebox.com에 대한 신고를 위해 이메일을 보내시면, #을 @으로 변경하시고 관련 증거를 제공하시면 됩니다. 사실이 확인되면, 이 사이트는 즉시 저작권 침해 내용을 삭제할 것입니다.