иллюстрировать
Этот проект принимает структуру Maven, которая в основном демонстрирует Spring MVC + Mybatis, контроллер для получения данных и возврата данных в формате JSON.
Структура проекта
Зависимости и инструкции с пакетом
POM -файл:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/4.0.0.0.0.0.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> функциимодельверсии >4.0.0.0</modelversion> функции Groupid>com.hbb0b0.maven01</gro UPID> <Artifactid> maven01 </artifactid> <badgaging> война </упаковка> <sersion> 0.0.1-snapshot </version> <mame> maven01 Maven webApp </name> <url> http://maven.apache.org </url> <properties> <!-номер версии mybatis-> <mybatis.version> 3.2.6 </mybatis.version> <!-log4j управление файлами журнала Версия-> <lf4j.version> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </свойства> <Depertiencies> <dehyed> <groupid> junit </Groupid> <strifactid> junit </artifactid> <ers Ion> 3.8.1 </version> <cracpe> test </scope> </deperency> <deyedency> <groupid> org.springframework </GroupId> <artifactid> Spring-webmvc </artifactid> <sersive> 4.1.2.release </version> </vebmvc> <!-! https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl-> <depervice> <groupid> org.codehaus.jackson </GroupId> <ratifactid> jackson-mapper-asl </artifactid> <sersive> 1.9.2 </версия> </Зависимость> <! https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl-> <DepeCted> <groupId> org.codehaus.jackson </GroupId> <ratifactid> Джексон-Кор-Асл </artifactid> <sersion> 1.9.13 </версия> </зависимость> <! https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind-> <dependency> <groupid> com.fasterxml.jackson.core </Groupid> <ratifactid> jackson-databind </artifactid> <serview> 2.9.3 <servied> </replybatis> <! -> <Depective> <groupid> org.mybatis </GroupId> <artifactId> mybatis-spring </artifactid> <sersive> 1.3.0 </version> </dependent> <!-Импорт базы данных MySQL Link Jar Пакет-> <Dependency> <groupId> mysql </GroupId> <artifactid> mysql-connector-java </artifactid> <sersive> 5.1.30 </version> </dependency> <!-mybatis orm Framework-> <Dependency> <groupId> org.mybatis </GroupId> <ArtifactId> mybatis </artifactid> <serse> 3.4.1 </version> </degifaction> <dependency> <groupid> org.springframework </GroupD> <strifactid> spring-tx </artifactid> <serse> 4.1.2.releas E </version> </deperency> <dependency> <groupid> org.springframework </groupid> <artifactid> spring-jdbc </artifactid> <sersion> 4.1.2.release </version> </depertive> </depertive> <buld> <finalname> maven01 </finalName> </build> </deport>
Инструкции по конфигурации
web.xml
<! Doctype web-app public "-// sun microsystems, inc.//dtd web Application 2.3 // en" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <sisplay-meame> создал веб-приложение </display-name> <! Картирование-> <servlet> <servlet-name> springmvc </servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-cla SS> <Init-param> <param-name> contextConfiglocation </param-name> <param-value>/web-inf/springmvc-servlet.xml </param-value> </init-param> <!- <Load-on-startup> 1 </load-on-startup>-> </servlet> <servlet-mapping> <servlet-name> springmvc </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
Springmvc-servlet.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" xmlns: mvc = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://wwww.spramemema. http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.sprimework.org/schema/mvc/spring-mv.le. Пакет и подпакет Sub-> <Context: Component Scan Base-package = "com.maven01.*" /> <!-Не обрабатывайте статический ресурс-> <MVC: по умолчанию-servlet-handler /> <!-Если вы используете аннотацию, вы должны настроить следующую настройку-> <mvc: annotation-ravender /> <! location = "/static/"/> <!-Configure The InternalResourceViewResolver-> <!-Если вы используете аннотацию, вы должны настроить следующую настройку-> <bean id = "mappingjacksonhttpmessageconverter" class = "org.springframework.http.converter.mashsippling jupping jupplycksectpmess. name = "Поддержка MediaTypes"> <sist> <datule> Application/json; charset = utf-8 </value> </list> </property> </bean> <bean> <beanclass = "org.springframework.web.servlet.view.internalResourceViewResolver" ID = name = "prefix" value = "/web-inf/view/"/> <!-суффикс-> <name = "suffix" value = ". jsp"/> </bean> <!-mysql-> <!-Введение информации о конфигурации источника данных-> <beanclass = " name = "locations"> <dulch> classpath: jdbc.properties </value> </property> </bean> <!-Настройка источника данных-> <bean id = "dataSource" class = "org.springframework.jdbc.datasource.drivermagerdatasource"> <property neliver. value = "$ {jdbc.driver}"> </property> <property name = "url" value = "$ {jdbc.url}"> </property> <name = "username" value = "$ {jdbc.usernam id = "sqlSessionFactory"> <name = "name =" dataSource "ref =" dataSource "/> <!-Автоматическое сканирование картирования. -> <Bean> <name = name = "basepackage" value = "com.maven01.dao"/> <name = "sqlSessionFactoryBeanName" value = "sqlSessionFactory"> </propetion> </bean> <!-Конфигурация транзакций-> <Beanfactory "> </propetion> </bean> <! id = "txmanager" class = "org.springframework.jdbc.datasource.datasourcetransactionmanager"> <name = "dataSource" ref = "dataSource"> </property> </bean> </beans>jdbc.propertiesjdbc.driver = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306/сотрудники? useunicode = true & haremencoding = utf-8jdbc.username = rootjdbc.password = sqlsa
Конфигурация файла Mybatis 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.org/dtd/mybatis-3-mapper.dtd " namespace = "com.maven01.dao.iemployeedao"> <select id = "getall" resultype = "com.maven01.pojo.employee"> select*rackmployeslimit 1,10 </select> </mapper>
Структура БД
В этом проекте используется база данных MySQL -образец сотрудников, и друзья, которые нуждаются в нем, могут загрузить ее сами.
http://www3.ntu.edu.sg/home/ehchua/programming/sql/sampledatabases.html
Описание кода
модель
пакет com.maven01.pojo; public class employee {public int emp_no; public string first_name; public int getemp_no () {return emp_no;} public void setemp_no (int emp_no) {this.emp_no = emp_no;} public Stryfirst_nam first_name) {this.first_name = first_name;}}дао
пакет com.maven01.dao; import java.util.list; import org.springframework.stereotype.repository; import com.maven01.pojo.employee; public interface iemployeedao {public hopaltee> getall ();}услуга
пакет com.maven01.service; import java.util.list; import com.maven01.pojo.employee; public interface iemployeservice {public list <memplieee> getall ();}ServiceImpl
пакет com.maven01.service.impl; import java.util.list; import org.springframework.beans.factory.annotation.autowired; импорт org.springframework.stereoty.service; import com.maven01.dao.iemployeedao. com.maven01.service.*; import javax.annotation.resource; @servicepublic class employserviceimpl inflaments iemployeeservice {@autowiredprivate iemployeedao dao; public employmerserviceimpl () {} public list <employee> getall () {return dao.getall ();контроллер
Пакет com.maven01.controller; import java.util.arraylist; import java.util.list; import javax.annotation.resource; импорт org.springframework.sterotype.controller; импорт org.springframework.web.bindation.requestmapping; org.springframework.web.bind.annotation.requestmethod; import org.springframework.web.bind.annotation.responsebody; импорт com.maven01.dto.*; import com.maven01.pojo.employee; com.maven01.service.iemployeeservice;@controller@requestmapping ("/mvc") демоконтроллер открытого класса {return effacementservice.getall ();}}Результаты бега
Код этого проекта был отправлен в GIT, а адрес загрузки - https://github.com/hbb0b0/springmybatis.git
Подводные камни столкнулись:
MappersCannerConfigurer настроен, чтобы включить только слой DAO. Никогда не настраивайте весь пакет для сканирования, в противном случае возникнет ошибка: квалификационная боба типа
<!-Spring автоматически найдет класс по интерфейсу DAO-> <Bean> <name = "name =" basepackage "value =" com.maven01.*"/> <Name =" sqlSessionFactoryBeanName "value =" sqlSessionFactory "> </propecty> </beanceexeexexeexexexeexexexeexexexexeexexeex типа [com.maven01.service.iemployeeservice] определяется: ожидаемый единый сочетный бон, но найден 2: сотрудники ShippliceImpl, iemPuliteeserviceat org.springframework.beans.factory.support.defaultlistablebeanfactory.doresoledependence (Default-intureBanceBactory.Java: 1061) Расположен, Spring автоматически найдет класс под ним -> <Bean> <name = "basepackage" value = "com.maven01.dao"/> <name = "sqlSessionFactoryBeanName" value = "sqlSessionFactory"> </propetion> </bean>
Обратите внимание, что сопоставление пакета Mybatis является более низкой версией Mybatis-Spring, Mybatis и Spring.
java.lang.abstractmethoderror: org.mybatis.spring.transaction.springmanagedTransaction.getTimeout () l
Суммировать
Выше приведено подробное объяснение примера для комбинации MVC MVC MVC, представленного вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!