introduire:
Dans l'article précédent, j'ai introduit la construction du projet Multi-module SSM. Pendant le processus de construction, Spring intègre SpringMVC et MyBatis, il y aura beaucoup de choses que nous devons configurer. Cela ne perd pas le temps, mais rend également les erreurs plus sujettes aux erreurs. En raison des problèmes causés, l'équipe Pivotal a fourni un tout nouveau cadre, qui utilise un moyen spécifique de configurer, afin que les développeurs n'aient plus besoin de définir des configurations de passe-partout. De cette façon, Spring Boot s'engage à devenir un leader dans le développement rapide des applications rapides.
Caractéristiques:
1. Créez une application de printemps autonome
2. ENCHED TOMCAT, PAS BESOIN de déployer des fichiers de guerre
3. Simplifier la configuration Maven
4. Configurer automatiquement le ressort
5. Fournir des fonctionnalités prêtes à la production telles que les mesures, les contrôles de santé et les configurations externes
6. Il n'y a absolument aucune génération de code et aucune exigence pour la configuration XML
(La plupart du contenu ci-dessus est extrait de Baidu Encyclopedia)
Ok, c'est tout pour l'explication de Springboot. Si vous voulez en savoir plus en détail, vous pouvez utiliser Baidu.
Je vous recommande de construire un projet Springboot à l'aide d'idées ou de STS (un éditeur développé par Spring Tool Suite Spring Company). J'utilise maintenant des idées, donc ensuite j'utilise des idées pour construire le projet.
1. Créer un projet
Après avoir rempli le groupe et l'atrifact, cliquez sur Suivant. Ici, j'ai choisi un pot. Parce que le document officiel recommande de l'emballage dans JAR, je n'expliquerai pas grand-chose ici.
Vérifiez le Web ici
Ici, consultez MySQL, JDBC et MyBatis pour cliquer sur Suivant
Entrez le nom du projet et le chemin du projet ici et cliquez sur Terminer
Ceci est la structure du projet une fois la nouvelle construction terminée
2. Ajouter une dépendance pom.xml
Parce que Springboot ne recommande pas d'utiliser JSP comme pages, si vous souhaitez l'utiliser, vous devez ajouter des dépendances JSP.
<? xml version = "1.0" Encoding = "utf-8"?> <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/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </ Modelversion> <ProupId> com.chaoqi </prebudId> <ArtefactId> Springboot_Demo2 </ ArtifactId> <Dersion> 0.0.1-Snapshot </DERNIFRIENT> <MAPHAGE> JAR </ Packaging> <name> Springboot_Demo2 </name> <Dcription> Demo Project for Spring Boot </ Description> <parent> <proupId> org.springFramework.boot </prebuchId> <ArtefactId> Spring-Boot-starter-Parent </ ArfactId> <DERVIÈRE> 2.0.0.release </DERNIERS> <RelativePath /> </parent> <Properties> <Project.build.Sourceencoding> UTF-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reportting.outputencoding> <java.version> 1.8 </java.version> </properties> <dependance> <dependency> <proupId> org.springframework.boot </proupId> </ artifactid> spring-boot-starter-jdbc </ artifactId> Spring-Boot-starter-jdbc </ artifactId>> Spring-boot-starter-jdbc </ artiFactId>> Spring-boot-starter-jdbcc </ artiFactID> <dependency> <proupId> org.springframework.boot </proupId> <Artifactid> printemps-boot-starter-web </ artifactid> </pedigency> <dependency> <proupId> org.mybatis.spring.boot </proupId> <artifactid> </ version> 1.31 </Dependency> <Dedency> <GroupId> MySQL </rom grouped> <ArtifActid> MySQL-Connector-Java </RetifActid> <Cope> Runtime </cope> </Dependency> <Dedency> <ProupId> Org.SpringFramework.boot </proupId> <ArtifActid> Spring-Boot-Starter-Test </ Artifact> <ccope> test </cope> </dependency> <! - Ajouter des dépendances JSP -> <dependency> <proupId> org.springframework.boot </prôdId> <prefactId> printemps-boot-starter-tomcat </ artifactid> </peedency> <dependency> <proupId> org.apache.tomcat.embed </proupdid> <ArtefactId> Tomcat-Embed-Jasper </Retifactid> </Dependency> </Dependces> <Duild> <Glugins> <Glugin> <ProupId> org.SpringFramework.boot </proupId> <eginactid> Spring-Boot-Maven-Plugin </ Artifactid> </Glugin> </Glugins>
3. Springboot intègre Springmvc
Parce que lors de la création du projet, nous avons choisi MyBatis et JDBC, nous devons donc les configurer ici.
Modifier l'application.properties
# Le répertoire de préfixe par défaut de la page Spring.mvc.view.prefix = / web-inf / jsp / # Le suffixe par défaut de la page de réponse printemps.mvc.view.suffix = .jsp # Configuration de développement Spring.datasource.datasource.url = com.mysql.jdbc.datasource.datasource.url = JDBC: mysql: // localhost: 3306 / test? useunicode = true & worseencoding = utf-8spring.datasource.username = rootspring.datasource.password = 123456 # MyBatis Interface File Emplacement de fichier mybatis.mapper: CLASSPATH: MAPTER / *. XMLMYBatis.Type-Aliases-Package: com.chaoqi.springboot_demo2.domain
Si vous avez l'habitude d'utiliser Application.yml, il peut également être utilisé, mais lorsque vous utilisez Application.yml, vous devez le nettoyer pour la première fois, sinon une erreur sera signalée.
Server: Port: 8080SPRING: MVC: View: prefix: / web-inf / jsp / suffixe: .jsp dataSource: url: jdbc: mysql: // localhost: 3306 / test? CharacterEncoding) com.mysql.jdbc.DrivermyBatis: Mappen-Locations: ClassPath: Mapping / *.
Après édition application.properties, créez le répertoire WebApp sous SRC / MIAN. La structure est la suivante
Créer un nouveau Contrôleur Index
package com.chaoqi.springboot_test.web; import org.springframework.sterreotype.controller; import org.springframework.web.bind.annotation.requestmapping; @ControllerPublic class indexController {private static final String index = "index"; @RequestMapping ("/ show") public String getIndex () {return index; }}Exécutez la fonction principale
Visitez la page, réussi
4. Springboot intègre Mybatis
Créer une table de base de données
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- `music_name` varchar (100) non null commentaire 'title de la chanson', clé primaire (` id`)) moteur = innodb auto_increment = 4 charset par défaut = utf8; - ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- «3,0m», «eau oublier»); insérer dans `Music_info» Values («3», «Pig DiANDian», «5,0m», «Little Pig qui peut écrire des programmes»);
Créer un pojo
package com.chaoqi.springboot_test.dao.domain; public class musicinfo {// id de clé primaire ID privé entier; // Nom du chanteur Private String Singhername; // Song Size Private String MusicSize; // Nom de la chanson Private String Musicname; / ** * Obtenez la clé primaire ID Music_info.id * * @return ID de clé primaire * / public Integer getID () {return id; } / ** * Définir la clé primaire ID Music_info.id * * @param id clé primaire ID * / public void setid (INTER ID) {this.id = id; } / ** * Obtenez le nom du chanteur music_info.singer_name * * @return Nom du chanteur * / public String Getsingername () {return Singhername; } / ** * Définir le nom du chanteur music_info.singer_name * * @param singername Singername * / public void setSinnerName (String Singhername) {this.singername = singername == null? NULL: SINGERNAME.TRIM (); } / ** * Get Song Size Music_info.music_size * * @return Song Size * / public String getMusicSize () {return musicsize; } / ** * Set Song Size Music_info.music_size * * @param musicsize Song Size * / public void setMusicSize (String musicsize) {this.usicsize = musicsize == null? null: musicsize.trim (); } / ** * Get Song Name Music_info.music_name * * @return Nom de la chanson * / public String getMusicName () {return musicname; } / ** * Définissez le nom de la chanson music_info.music_name * * @param musicname Song Nom * / 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 + '/' '+'} '; }}Créer mappper.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Mappep 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 = "baseresultmap" type = "com.chaoqi.springboot_test.dao.domain.musicicfo"> <id colum chronn = "Singer_name" jdbcType = "varChar" propriété = "Singername" /> <résultat chronn = "music_size" jdbcType = "varchar" propriété = "musicSize" /> <result Column = "music_name" jdbcType = "varcharing" propriété = "musistname" /> </ resultMap>
Créer un mappeur
Package com.chaoqi.springboot_test.dao.mapper; import com.chaoqi.springboot_test.dao.domain.musicinfo; import org.apache.ibatis.annotations.resultmap; import org.apache.ibatis.annotations. @ResultMap ("BasereSultMap") @Select ("SELECT * FROM MUSIC_INFO") LISTE <MUSICINFO> SELECTALL (MUSICINFO MusicInfo);}Interface de service
Package com.chaoqi.springboot_test.service; import com.chaoqi.springboot_test.dao.domain.musicinfo; Importer java.util.list; interface publique MusicinfoService {public list <usicinfo> getMusicinfo (musicinfo musicfo);}classe d'implémentation de service
Package com.chaoqi.springboot_test.service.impl; import com.chaoqi.springboot_test.dao.domain.musicinfo; import com.chaoqi.springboot_test.dao.mapper.musicinfoMapper; import; com.chaoqi.springboot_test.service.musicinfoservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.sterreoType.service; import java.util.list; @ServicePublic MusicInfoserviceImp MusicInfomapper privé MusicInfoMapper; @Override Public List <usicInfo> getMusicInfo (musicinfo musicinfo) {list <musicinfo> musicinfos = musicinfoMapper.Selectall (null); return musicinfos; }}La structure après la création est la suivante
Modifier l'index Controller
package com.chaoqi.springboot_test.web; import com.chaoqi.springboot_test.dao.domain.musicinfo; import com.chaoqi.springboot_test.service.musicinfoservice; import org.springframework.beans.factory.annoting.Autowired; org.springframework.sterreotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.Responsebody; import java.util.list; @controllerPublic Class IndexController {private static final index = "index";; @Autowired Private MusicInfoservice MusicInfoservice; @RequestMapping ("/ show") public String getIndex () {return index; } @RequestMapping ("/ music") @ResponseBody Public List <MusicInfo> getMusiciCinfo (musicInfo musicinfo) {list <musicinfo> musicinfolist = musicinfoservice.getMusiciNfo (null); Retour MusicInfolist; }}Annoter la classe SpringboottestApplication @Mapperscan ("com.chaoqi.springboot_test.dao.mapper")
package com.chaoqi.springboot_test; import org.mybatis.spring.annotation.mapperscan; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restController; @ SpringbootApplication @ MAPPERSCAN ("com.chaoqi.springboot_test.Dao.mapper") Class Public SpringboottestApplication {Public Static Void Main (String) {SpringApplication.run (SpringbootTestApplication.class, args); }}Exécutez le projet avec succès, Springboot + Springmvc + MyBatis Integration est terminé (adresse de téléchargement du code source)
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.