แนะนำ:
ในบทความก่อนหน้านี้ฉันแนะนำการสร้างโครงการ Multi-Module SSM ในระหว่างกระบวนการก่อสร้างสปริงรวม SpringMVC และ MyBatis จะมีหลายสิ่งหลายอย่างที่เราต้องกำหนดค่า สิ่งนี้ไม่เพียงเสียเวลาเท่านั้น แต่ยังทำให้เกิดข้อผิดพลาดมากขึ้นในการเกิดข้อผิดพลาด เนื่องจากปัญหาที่เกิดขึ้นทีมสำคัญได้จัดทำกรอบใหม่เอี่ยมซึ่งใช้วิธีเฉพาะในการกำหนดค่าเพื่อให้นักพัฒนาไม่จำเป็นต้องกำหนดการกำหนดค่าหม้อไอน้ำอีกต่อไป ด้วยวิธีนี้ Spring Boot มุ่งมั่นที่จะเป็นผู้นำในการพัฒนาแอปพลิเคชันที่รวดเร็ว
คุณสมบัติ:
1. สร้างแอปพลิเคชันสปริงแบบสแตนด์อโลน
2. ฝัง Tomcat ไม่จำเป็นต้องปรับใช้ไฟล์สงคราม
3. ทำให้การกำหนดค่า Maven ง่ายขึ้น
4. กำหนดค่าสปริงโดยอัตโนมัติ
5. ให้คุณสมบัติพร้อมการผลิตเช่นตัวชี้วัดการตรวจสุขภาพและการกำหนดค่าภายนอก
6. ไม่มีการสร้างรหัสอย่างแน่นอนและไม่มีข้อกำหนดสำหรับการกำหนดค่า XML
(เนื้อหาส่วนใหญ่ข้างต้นถูกตัดตอนมาจากสารานุกรม Baidu)
ตกลงนี่คือทั้งหมดสำหรับคำอธิบายของ Springboot หากคุณต้องการทราบรายละเอียดเพิ่มเติมคุณสามารถใช้ Baidu
ฉันขอแนะนำให้คุณสร้างโครงการ Springboot โดยใช้แนวคิดหรือ STS (บรรณาธิการที่พัฒนาโดย Spring Tool Suite Spring Company) ตอนนี้ฉันใช้ความคิดดังนั้นฉันจึงใช้แนวคิดในการสร้างโครงการ
1. สร้างโครงการ
หลังจากกรอกข้อมูลในกลุ่มและ atrifact คลิกถัดไป ที่นี่ฉันเลือกขวด เนื่องจากเอกสารอย่างเป็นทางการแนะนำบรรจุภัณฑ์ลงในขวดฉันจะไม่อธิบายมากที่นี่
ตรวจสอบเว็บที่นี่
ที่นี่ตรวจสอบ mysql, jdbc และ mybatis เพื่อคลิกถัดไป
ป้อนชื่อโครงการและเส้นทางโครงการที่นี่และคลิกเสร็จสิ้น
นี่คือโครงสร้างโครงการหลังจากการก่อสร้างใหม่เสร็จสิ้น
2. เพิ่มการพึ่งพา pom.xml
เนื่องจาก Springboot ไม่แนะนำให้ใช้ JSP เป็นหน้าหากคุณต้องการใช้คุณต้องเพิ่มการพึ่งพา JSP
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <ArtIfactId> springboot_demo2 </artifactid> <persion> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> springboot_demo2 </name> <scription> โครงการสาธิตสำหรับการบูตฤดูใบไม้ผลิ </คำอธิบาย> <ArtIfactId> Spring-Boot-Starter-Parent </artifactId> <version> 2.0.0.release </เวอร์ชัน> <inelypath/> </parent> <properties> <Project.Reporting.UutputEncoding> UTF-8 </Project.Reporting.UutputPutenCoding> <Java.Version> 1.8 </Java.Version> </premerties> </perctency> <การพึ่งพา> <roupId> org.springframework.boot </groupid> <ratifactid> Spring-Boot-starter-web </artifactid> </dependency> <Sersion> 1.3.2 </Serve> </derctency> <การพึ่งพา> <roupId> mySQL </groupId> <ratifactId> mysql-connector-java </artifactid> <scope> รันไทม์ </cope> </การพึ่งพา <ratifactid> การทดสอบสปริง-สตาร์สตาร์เทสต์ </artifactid> <cope> ทดสอบ </pope> </dercendency> <!-เพิ่มการพึ่งพา JSP-> <predency> <roupid> org.springframework.boot </groupid> <RoupID> org.apache.tomcat.embed </groupId> <ratifactid> tomcat-embed-jasper </artifactid> </dercendency> </การพึ่งพาอาศัย> <สร้าง> <plugins> <plugin> </plugins> </uffer> </project>
3. Springboot รวม SpringMVC
เพราะเมื่อสร้างโครงการเราเลือก MyBatis และ JDBC ดังนั้นเราจึงต้องกำหนดค่าที่นี่
แก้ไขแอปพลิเคชัน
# ไดเรกทอรีคำนำหน้าเริ่มต้นของหน้า Spring.mvc.view.prefix =/web-inf/jsp/# คำต่อท้ายเริ่มต้นของหน้าตอบกลับ Spring.mvc.view.suffix = .jsp# การพัฒนาการกำหนดค่า Spring.datasource.DriverClassName = com.mysql.jdbc.driverspring.datasource JDBC: mysql: // localhost: 3306/test? useunicode = true & characterencoding = utf-8spring.datasource.username = rootspring.datasource.password = 123456# mybatis อินเทอร์เฟซ classpath: mapper/*. xmlmybatis.type-aliases-package: com.chaoqi.springboot_demo2.domain
หากคุณคุ้นเคยกับการใช้ Application.yml ก็สามารถใช้งานได้ แต่เมื่อใช้ Application.yml คุณต้องทำความสะอาดเป็นครั้งแรกมิฉะนั้นจะมีการรายงานข้อผิดพลาด
เซิร์ฟเวอร์: พอร์ต: 8080SPRING: MVC: ดู: คำนำหน้า:/web-inf/jsp/คำต่อท้าย: .jsp dataSource: url: jdbc: mysql: // localhost: 3306/ทดสอบ? com.mysql.jdbc.drivermybatis: mapper-locations: classpath: การแมป/*. xml type-aliases-package: com.chaoqi.springboot_demo2.domain
หลังจากแก้ไขแอปพลิเคชัน Properties ให้สร้างไดเรกทอรี WebApp ภายใต้ SRC/MIAN โครงสร้างมีดังนี้
สร้าง indexcontroller ใหม่
แพ็คเกจ com.chaoqi.springboot_test.web; นำเข้า org.springframework.stereotype.controller; นำเข้า org.springframework.web.bind.annotation.requestmapping; @controllerpublic Class Indextroller @RequestMapping ("/show") สตริงสาธารณะ getIndex () {return index; -เรียกใช้ฟังก์ชั่นหลัก
เยี่ยมชมหน้าประสบความสำเร็จ
4. Springboot รวม mybatis
สร้างตารางฐานข้อมูล
- - - `music_name` varchar (100) ไม่ใช่ความคิดเห็น null 'ชื่อเพลง', คีย์หลัก (` id`)) engine = innoDb auto_increment = 4 charset เริ่มต้น = utf8;- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- '3.0m', 'น้ำลืม'); แทรกเข้าไปในค่า `music_info` ('3', 'Pig Diandian', '5.0m', 'Little Pig ที่สามารถเขียนโปรแกรม');สร้าง pojo
แพ็คเกจ com.chaoqi.springboot_test.dao.domain; MusicInfo ระดับสาธารณะ {// รหัสหลัก ID ส่วนตัว ID ส่วนตัว; // ชื่อนักร้องสตริงส่วนตัว SingerName; // ขนาดเพลงสตริงส่วนตัว Musicsize; // ชื่อเพลงสตริงส่วนตัวชื่อเพลง; / ** * รับรหัสหลัก ID music_info.id * * @return รหัสหลักรหัส */ จำนวนเต็มสาธารณะ getId () {return id; } / ** * ตั้งรหัสหลัก ID Music_info.id * * @param ID รหัสหลัก ID * / โมฆะสาธารณะ setId (ID จำนวนเต็ม) {this.id = id; } / ** * รับชื่อนักร้อง music_info.singer_name * * @return ชื่อนักร้อง * / สตริงสาธารณะได้รับชื่อ () {return singername; } / ** * ตั้งชื่อนักร้องชื่อ music_info.singer_name * * @param singername singername * / โมฆะสาธารณะ setsingername (String singername) {this.singerName = singerName == null? null: singerName.trim (); } / ** * รับเพลงขนาดเพลง music_info.music_size * * @return ขนาดเพลง * / สตริงสาธารณะ getMusicsize () {return musicsize; } / ** * ตั้งค่าขนาดเพลง music_info.music_size * * @param musicsize ขนาดเพลง * / โมฆะสาธารณะ setmusicsize (สตริง musicsize) {this.musicsize = musicsize == null? null: musicsize.trim (); } / ** * รับชื่อเพลง music_info.music_name * * @return ชื่อเพลง * / สตริงสาธารณะ getMusicName () {return musicName; } / ** * ตั้งชื่อชื่อเพลง Music_info.music_name * * @param musicName ชื่อเพลงชื่อ * / โมฆะสาธารณะ setMusicName (String MusicName) {this.musicName = musicName == null? null: musicname.trim (); } @Override สตริงสาธารณะ toString () {return "musicinfo {" + "id =" + id + ", singerName = '" + singerName +'/'' + ", musicsize = '" musicsize +'/'' + ", musicName = '" musicName +'/'' -สร้าง mappper.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype mapper สาธารณะ "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd namespace = "com.chaoqi.springboot_test.dao.mapper.musicinfomapper"> <resultmap id = "baseresultmap" type = "com.chaoqi.springboot_test.dao.domain.musicinfo" <result column = "singer_name" jdbctype = "varchar" คุณสมบัติ = "singerName" /> <result column = "music_size" jdbctype = "varchar" property = "musicsize" /> <result column = "music_name" jdbctype = "varchar"
สร้าง Mapper
แพ็คเกจ com.chaoqi.springboot_test.dao.mapper; นำเข้า com.chaoqi.springboot_test.dao.domain.musicinfo; นำเข้า org.apache.ibatis.annotations.resultmap; {@ResultMap ("baseresultmap") @Select ("เลือก * จาก music_info") รายการ <MusicInfo> Selectall (MusicInfo MusicInfo);}อินเทอร์เฟซบริการ
แพ็คเกจ com.chaoqi.springboot_test.service; นำเข้า com.chaoqi.springboot_test.dao.domain.musicinfo; นำเข้า java.util.list; Interface Musicinfoservice {รายการสาธารณะคลาสการใช้งานบริการ
แพ็คเกจ com.chaoqi.springboot_test.service.impl; นำเข้า com.chaoqi.springboot_test.dao.domain.musicinfo; นำเข้า com.chaoqi.springboot_test.dao.mapper.musicinfomapper; com.chaoqi.springboot_test.service.musicinfoservice; นำเข้า org.springframework.beans.factory.annotation.autowired; นำเข้า org.springframework.stereotype.service; @autowired MusicinFomapper MusicinFomapper; @Override รายชื่อสาธารณะ <MusicInfo> getMusicInfo (MusicInfo MusicInfo) {รายการ <MusicInfo> MusicInfos = MusicInFomapper.Selectall (NULL); กลับมา musicinfos; -โครงสร้างหลังการสร้างมีดังนี้
แก้ไข indexcontroller
แพ็คเกจ com.chaoqi.springboot_test.web; นำเข้า com.chaoqi.springboot_test.dao.domain.musicinfo; นำเข้า com.chaoqi.springboot_test.service.musicinfoservice; org.springframework.stereotype.controller; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.responsebody; @autowired Musicinfoservice Musicinfoservice; @RequestMapping ("/show") สตริงสาธารณะ getIndex () {return index; } @RequestMapping ("/music") @ResponseBody List <MusicInfo> getMusicInfo (MusicInfo MusicInfo) {รายการ <MusicInfo> MusicInfolist = MusicInFoservice.getMusicInfo (NULL); ส่งคืน musicinfolist; -คำอธิบายประกอบคลาส Springboottestapplication @mapperscan ("com.chaoqi.springboot_test.dao.mapper")
แพ็คเกจ com.chaoqi.springboot_test; นำเข้า org.mybatis.spring.annotation.mapperscan; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.restcontroller;@springbootapplication@maperscan ("com.chaoqi.springbootboot_test.dao.mapper args) {springapplication.run (springboottestapplication.class, args); -เรียกใช้โครงการได้สำเร็จ SpringBoot+SpringMVC+MyBatis Integration เสร็จสมบูรณ์ (ที่อยู่ดาวน์โหลดซอร์สโค้ด)
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น