introducir:
En el artículo anterior, introduje la construcción del proyecto SSM MultiModule. Durante el proceso de construcción, Spring integra SpringMVC y MyBatis, habrá muchas cosas que debemos configurar. Esto no solo desperdicia tiempo, sino que también hace que los errores sean más propensos a los errores. Debido a los problemas causados, el equipo fundamental proporcionó un nuevo marco, que utiliza una forma específica de configurar, de modo que los desarrolladores ya no necesitan definir configuraciones básicas. De esta manera, Spring Boot se compromete a convertirse en un líder en el desarrollo rápido de aplicaciones.
Características:
1. Cree una aplicación de resorte independiente
2. Incorporar Tomcat, no es necesario implementar archivos de guerra
3. Simplifique la configuración de Maven
4. Configurar automáticamente Spring
5. Proporcione funciones listas para la producción, como métricas, verificaciones de salud y configuraciones externas.
6. No hay absolutamente ninguna generación de código ni requisitos para la configuración de XML
(La mayor parte del contenido anterior se extrae de la enciclopedia de Baidu)
Ok, todo esto es para la explicación de Springboot. Si desea saber más en detalle, puede usar Baidu.
Le recomiendo que cree un proyecto Springboot utilizando ideas o STS (un editor desarrollado por Spring Tool Suite Spring Company). Ahora estoy usando ideas, así que luego uso ideas para construir el proyecto.
1. Crea un proyecto
Después de completar Group y Atrifact, haga clic en Siguiente. Aquí elegí frasco. Debido a que el documento oficial recomienda empacar en JAR, no explicaré mucho aquí.
Consulte la web aquí
Aquí, consulte MySQL, JDBC y MyBatis para hacer clic en Siguiente
Ingrese el nombre del proyecto y la ruta del proyecto aquí y haga clic en Finalizar
Esta es la estructura del proyecto después de completar la nueva construcción.
2. Agregue la dependencia de pom.xml
Debido a que SpringBoot no recomienda usar JSP como páginas, si desea usarlo, debe agregar dependencias de JSP.
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <Modelversion> 4.0.0 </modelversion> <MoupRid> com.chaoqi </proupid> <AtifactId> SpringBoot_Demo2 </arfactid> <versión> 0.0.1-snapshot </versewer> <packaging> jar </paquete> <name> springboot_demo2 </name> <solding> Proyecto de demostración para el arranque de Spring </descripción> <Parent> <MoupRid> Org.SpringframeWork.Boot </groupid> <ArifactID> Spring-Boot-Starter-Parent </arfactid> <versión> 2.0.0.release </versever> <relativePath/> </rent> <properties> <proyecto.build.sourceEncoding> Utf-8 </project.build.sourceEnding> <Project.Reporting.outputEncoding> UTF-8 </project.rePorting.outputEncoding> <java.version> 1.8 </Java.version> </sperties> <pendencies> <pendency> <proupid> org.springFrameWork.boot </groupId> <Atifactid> Spring-Boot-Starter-JdBC </Jifact </JifactWCc </ArtIfactWla <Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactID> spring-boot-starter-web </artifactid> </pepertency> <pendency> <grupoD> org.mybatis.spring.boot </groupid> <arfactiD> mybatis-spring-spring-spre-starter </artifactid> 1. </pendency> <epardency> <uproupId> mysql </groupid> <artifactid> mysql-connector-java </arfactid> <cope> runtime </cope> </pendency> <epardency> <proupid> org.springFrame.boot </groupid> <artifactid> spring-boot-starter-test </artid> <cope> test </scope> </pendency> <!-Agregar dependencias JSP-> <Spendency> <ProupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-tomcat </artifactid> </dependency> <epartency> <proupid> org.apache.tomcat.eMbed </groupid>> <artifactid> Tomcat-Embed-Jasper </artifactid> </pendency> </dependencias> <1t. <glugins> <glugin> <proupid> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactiD> </tugin> </glugins> </sartifactid> </proyecto>
3. Springboot integra SpringMVC
Porque al crear el proyecto, elegimos MyBatis y JDBC, por lo que tenemos que configurarlos aquí.
Editar aplicación. Propiedades
# El directorio de prefijo predeterminado de la página Spring.mvc.view.prefix =/web-Inf/jsp/# El sufijo predeterminado de la página de respuesta Spring.mvc.view.suffix = .jsp# Desarrollo Configuración Spring.datasource.driverClassName = Com.mysql.jdbc.diverspring.datasource.url = JDBC: mysql: // localhost: 3306/test? UseUnicode = true & caracterSencoding = utf-8spring.datasource.username = rootspring.datasource.password = 123456# MyBatis Interface Ubicación MyBatis.mapper-Locations: classpath: mapper/*. xmlmybatis.type-aliases-paquete: com.chaoqi.springboot_demo2.domain
Si está acostumbrado a usar Application.yml, también se puede usar, pero al usar Application.yml, debe limpiarlo por primera vez, de lo contrario se informará un error.
servidor: puerto: 8080spring: mvc: ver: prefix:/web-inf/jsp/sufix: .jsp dataSource: url: jdbc: mysql: // localhost: 3306/test? CaracteriCoding = utf-8 & useUnicode = true & ussl = falso usame: contraseña road: 123456-class-class-name: name-name: name: com.mysql.jdbc.drivermybatis: Mapper-Locations: classpath: mapeo/*. xml type-aliases-package: com.chaoqi.springboot_demo2.domain
Después de editar Application.Properties, cree el Directorio WebApp en SRC/Mian. La estructura es la siguiente
Crear un nuevo indexController
paquete com.chaoqi.springboot_test.web; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; @ControllerPublic IndexController {Index final estatoso privado Índice = "índice"; @RequestMapping ("/show") public String getIndex () {devuelve index; }}Ejecutar la función principal
Visite la página, exitoso
4. Springboot integra mybatis
Crear una tabla de base de datos
- --------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- `music_name` varchar (100) no comentario nulo 'título de canción', clave primaria (` id`)) motor = innoDB Auto_Increment = 4 Charset predeterminado = UTF8;------ --------------------------------------------------------------------------------------------------------------------------------------------------- '3.0m', 'agua olvidada'); inserte en valores 'Music_info` (' 3 ',' Pig diandian ',' 5.0m ',' Little Pig que puede escribir programas ');Crear un pojo
paquete com.chaoqi.springboot_test.dao.domain; public class MusicInfo {// ID de ID de clave principal principal ID privada de entero; // Nombre del cantante String String Singername; // El tamaño de la canción String String MusicSize; // Nombre de la canción String String MusicName; / ** * Obtenga la ID de clave primaria Music_info.id * * @return ID de clave primaria */ public Integer getId () {return id; } / ** * Establecer la clave primaria ID Music_info.id * * @param ID de clave primaria ID * / public void setid (ID integer) {this.id = id; } / ** * Obtenga el nombre del cantante music_info.singer_name * * @return name * / public string getSingername () {return Singername; } / ** * Establecer el nombre del cantante music_info.singer_name * * @param singername singername * / public void setSingername (String Singername) {this.singername = Singername == NULL? NULL: SINGERNAME.TRIM (); } / ** * Get Song Size Music_info.Music_Size * * @return size * / public string getMusicSize () {return musicSize; } / ** * Establecer el tamaño de la canción music_info.music_size * * @param musicicsize size * / public void setMusicSize (String MusicSize) {this.MusicSize = MusicSize == NULL? NULL: MusicSize.trim (); } / ** * Get Song Name Music_info.Music_Name * * @return Nombre de la canción * / public String getMusicName () {return MusicName; } / ** * Establezca el nombre de la canción Music_info.Music_Name * * @param MusicName Nombre de la canción * / public void setMusicName (String MusicName) {this.MusicName = MusicName == NULL? null: musicname.trim (); } @Override public string toString () {return "musicInfo {" + "id =" + id + ", singername = '" + singername +'/'' + ", musicsize = '" + musicsize +'/'' + ", musicName = '" + musicName +' ' +' + '}'; }}Crear mappper.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace = "com.chaoqi.springboot_test.dao.mapper.musicinfomapper"> <resultMap id = "BaseSultMap" type = "com.chaoqi.springboot_test.dao.domain.musicinfo"> <id columna = "id" jdbctypee = "integer" integer "integer" integer "integer" integer "integer" /"integer" columna = "Singer_Name" JDBCType = "Varchar" Property = "Singername" /> <resultado columna = "Music_Size" JDBCType = "Varchar" Property = "MusicSize" /> <resultado columna = "music_name" jdbctype = "Varchar" Property = "musicName" /> </ resultadomap> </ mapper>
Crear un mapeador
paquete com.chaoqi.springboot_test.dao.mapper; import com.chaoqi.springboot_test.dao.domain.musicinfo; import org.apache.ibatis.annotations.resultmap; import opache.ibatis.annotations.select; import java.util.list; {@ResultMap ("BaseResultMap") @Select ("Seleccionar * de Music_info") List <SiciSfo> SelectAll (MusicInfo MusicInfo);}Interfaz de servicio
paquete com.chaoqi.springboot_test.service; import com.chaoqi.springboot_test.dao.domain.musicinfo; import java.util.list; pública interfaz musicInfoservice {Lista pública <Sicinfo> getMusicinfo (musicinfo musicinfo);}clase de implementación de servicios
paquete com.chaoqi.springboot_test.service.impl; import com.chaoqi.springboot_test.dao.domain.musicinfo; import com.chaoqi.springboot_test.service.musicinfoservice; import org.springframework.beans.factory.annotation.aUtowired; import og.springframework.stereotype.service; import java.util.list; @ServicePublicPublic Class MusicInfoservice MusicleService MusicInfeSfeFesfos MusicInfomapper MusicInfomapper; @Override Public List <SicusInfo> getMusicinfo (MusicInfo MusicInfo) {List <Sic MusicInfo> MusicInfos = MusicInfomapper.Selectall (NULL); regresar musicInfos; }}La estructura después de la creación es la siguiente
Editar indexController
paquete com.chaoqi.springboot_test.web; import com.chaoqi.springboot_test.dao.domain.musicinfo; import com.chaoqi.springboot_test.service.musicinfoService; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.list; @Controllerpublic Class de clases de índice {Private Static String index = "Index"; @Autowired private MusicInfoservice MusicInfoservice; @RequestMapping ("/show") public String getIndex () {devuelve index; } @RequestMapping ("/Music") @ResponseBody List Public List <SiciSfo> getMusicinfo (MusicInfo MusicInfo) {List <Sic MusicInfo> MusicInfolist = MusicInfoservice.getMusicinfo (NULL); return musicInfolist; }}Anotar la clase SpringBoottestApplication @mapperscan ("com.chaoqi.springboot_test.dao.mapper")
paquete com.chaoqi.springboot_test; import org.mybatis.spring.annotation.mapperscan; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; importación; importación; org.springframework.web.bind.annotation.requestMapping; import org.springframework.web.bind.annotation.restcontroller;@springbootapplication@mapperscan ("com.chaoqi.springboot_test.dao.mapper") Public ClassingBootpaplation {Public state (StringBoot_test_test.dao.mapper ") args) {springapplication.run (springboottestapplication.class, args); }}Ejecute el proyecto con éxito, SpringBoot+SpringMVC+MyBatis Integration se completa (dirección de descarga del código fuente)
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.