ความสะดวกสบายของ Springboot สำหรับการพัฒนาโครงการเว็บจะไม่ได้รับการอธิบายในบทความนี้ ส่วนใหญ่ต้องการสรุปและสรุปประสบการณ์ของการสร้างโครงการหลายโมดูลตาม Springboot และ Gradle ในงานของคุณ
1. สร้างโครงการ
ก่อนอื่นให้ติดตั้ง Java และ Gradle เวอร์ชัน Java ที่เลือกในบทความนี้คือ 1.8.0_40 และรุ่น Gradle คือ 2.10 กระบวนการติดตั้งจะไม่ได้รับการอธิบายในบทความนี้
ถัดไปสร้างโครงการชื่อ Springboot-MM:
mkdir springboot-mm cd springboot-mm gradle init
โครงสร้างโครงการในเวลานี้มีดังนี้:
ถัดไปสร้างหลายโมดูล ที่นี่นำเว็บและโมดูลเป็นตัวอย่างแรกสร้างไดเรกทอรีที่เกี่ยวข้อง
Linux:
mkdir -p web/src/main/{java, ทรัพยากร} web/src/test/{java, ทรัพยากร} mkdir -p โมดูล/src/main/{java, ทรัพยากร} โมดูล/src/test/{java, ทรัพยากร} ทรัพยากร}Windows:
mkdir web/src/main/java, web/src/main/resource, web/src/test/java, web/src/test/resourcemkdir โมดูล/src/main/java, โมดูล/src/main/main, modules/src/test/Java
โครงสร้างไดเรกทอรีในเวลานี้มีดังนี้:
2. แก้ไขการกำหนดค่า
ขั้นแรกให้แก้ไขไฟล์ settings.gradle ในไดเรกทอรีรูทและแนะนำ submodules:
รวม 'เว็บ', 'โมดูล'
ประการที่สองแก้ไข build.gradle ในไดเรกทอรีราก:
// การกำหนดค่าทั่วไปของโครงการย่อยทั้งหมดย่อย {ใช้ปลั๊กอิน: 'java' ใช้ปลั๊กอิน: 'IDEA' เวอร์ชัน = '1.0.0' // หมายเลขเวอร์ชัน JVM ต้องใช้ sourceCompatibility = 1.8 TargetCompatibility = 1.8 // เมื่อ Java ถูกรวบรวม 'utf-8' ที่เก็บ {mavenlocal () maven {url "http://maven.aliyun.com/nexus/content/groups/public"} mavencentral () jcenter () maven {url "http:/ "http://repo.spring.io/milestone"} maven {url 'http://maven.springframework.org/release'} maven {url 'http://maven.springframework.org/milestone แอตทริบิวต์ ("การใช้งาน title": "gradle")}} // แสดงขวดทั้งหมดสำหรับการรวบรวมภายใต้โครงการปัจจุบัน listjars (คำอธิบาย: 'แสดงขวดคอมไพล์ทั้งหมด') << {configurations.compile.each {ไฟล์ไฟล์ -> println file.name}}}} << "-xlint: unchected" << "-xlint: deprecation"}}}} ถัดไปใช้ Intellij (ใช้เวอร์ชัน 2016.3) เพื่อนำเข้าโครงการ หลังจากการนำเข้าสำเร็จควรแสดงดังนี้:
เพิ่มไฟล์ web/build.gradle และแก้ไขเพื่อกำหนดการพึ่งพาของโมดูลเว็บ:
buildScript {repositories {mavenlocal () maven {url "http://maven.aliyun.com/nexus/content/groups/public"} maven {url "http://repo.spring.io/snapshot"} maven "http://repo.spring.io/milestone"} jcenter ()} การพึ่งพา {classpath ("org.springframework.boot: Spring-boot-gradle-plugin: 1.4.5.Release")}} ใช้ปลั๊กอิน: = '1.4.5.Release'} การพึ่งพา {Compile Project (': Modules') // Spring Boot Compile "org.springframework.boot: Spring-Boot-Starter-Web: $ Springbootvar" SpringBoot-Starter-Starter-Starter-เพิ่มไฟล์โมดูล/build.gradle ในกรณีนี้โมดูลเป็นโมดูลขึ้นอยู่กับเว็บ โดยปกติคุณสามารถใส่ฟังก์ชั่นเช่น ORM การชำระเงินการรับรองความถูกต้อง ฯลฯ ลงในโมดูลที่แตกต่างกันซึ่งสามารถลดการมีเพศสัมพันธ์ของโปรแกรมและอำนวยความสะดวกในการขยายธุรกิจ ผู้อ่านสามารถแก้ไขโมดูล/build.gradle ตามข้อกำหนดของโครงการของตนเอง แต่พวกเขาจำเป็นต้องเพิ่มการกำหนดค่าต่อไปนี้ในโมดูล/build.gradle:
BootRepackage {enabled = false}โปรดดูเหตุผลเฉพาะที่นี่
3. เพิ่มรหัสทดสอบ
เพิ่มเว็บ/src/main/java/com/formalroom/application.java รหัสตัวอย่างมีดังนี้
@componentscan (basepackages = {"com.formalroom"})@enableautoconfigurationpublic คลาสแอปพลิเคชันขยาย SpringbootservletInitializer useneddedservletContainerCustomizer } @Override โมฆะสาธารณะปรับแต่ง (คอนเทนเนอร์ที่กำหนดค่าได้ -เพิ่มเว็บ/src/main/java/com/formalroom/controller/test1.java,
@ControllerPublic คลาส test1 {@requestmapping (value = "/test1", method = requestmethod.get) @ResponseBody สตริงสาธารณะ test1 () {return "สปริงบูตหลายโมดูลทดสอบ"; -ใช้เบราว์เซอร์เพื่อเข้าถึง http://127.0.0.1:8081/test1 และต่อไปนี้จะปรากฏขึ้น:
รหัสตัวอย่างที่สมบูรณ์มีอยู่ที่นี่
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น