1 กระจาย
1.1 สิ่งที่แจกจ่าย
1.2 ความแตกต่างระหว่างการกระจายและกลุ่ม
ปรากฎว่ามีพ่อครัวเพียงคนเดียวในร้านอาหารเล็ก ๆ ที่ตัดผักล้างผักเตรียมส่วนผสมและผัดพวกเขาทั้งหมด ต่อมามีลูกค้ามากขึ้นและพ่อครัวในครัวยุ่งเกินไปดังนั้นเขาจึงจ้างพ่อครัวคนอื่น พ่อครัวทั้งสองสามารถปรุงอาหารจานเดียวกันได้ ความสัมพันธ์ระหว่างพ่อครัวสองคนนี้เป็นคลัสเตอร์ เพื่อให้พ่อครัวมีสมาธิในการทำอาหารและทำอาหารที่ดีที่สุดเขาจ้างเครื่องเคียงเพื่อรับผิดชอบในการตัดผักเตรียมอาหารและเตรียมส่วนผสม ความสัมพันธ์ระหว่างพ่อครัวและเครื่องเคียงมีการแจกจ่ายและเครื่องเคียงหนึ่งจานยุ่งเกินไปดังนั้นเขาจึงจ้างเครื่องเคียงและความสัมพันธ์ระหว่างสองจานเป็นกลุ่ม
2. สร้างโครงการแบบกระจาย
เครื่องมือการเตรียมการ: Eclipse, VMWARM ที่ติดตั้งระบบ CentOS7, Zookeeper .... สิ่งที่สำคัญที่สุดคือเครื่องจักรผู้สูงอายุอายุสามขวบ
1 ก่อนสร้างโครงการ Maven ของคลาสแม่และวิธีการบรรจุภัณฑ์คือ POM
สร้างโครงการ Maven คลาสแม่ใน Eclipse และวิธีการบรรจุภัณฑ์คือ POM ทำไมต้องสร้างโครงการ Maven คลาสแม่? เนื่องจากคุณต้องการใช้โครงการ Maven นี้เพื่อจัดการเวอร์ชันแพ็คเกจ JAR ที่หลากหลายหากคลาสย่อยต้องการแพ็คเกจ JAR โดยตรงและคลาสแม่คุณสามารถทำได้ xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderVersion> 4.0.0 </modelversion> <moderversion> <moderversion> แพ็คเกจ jar-> <properties> <junit.version> 4.12 </junit.version> <pring.version> 4.2.4.release </spring.version> <mybatis.version> 3.2.8 </mybatis.version> <mybatis.spring.version> 1.2.2 < /mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><mysql.version>5.1.32</mysql.version> rsion> <jackson.version> 2.4.2 </jackson.version> <druid.version> 1.0.9 </druid.version> <httpClient.version> 4.3.5 </httpclient.version> <jstl.version> 1.2 </jstl .Version> <servlet-api.version> 2.5 </servlet-api.version> <jsp-api.version> 2.0 </jsp-api.version> <joda-time.version> 2.5 </joda-time.version> <momons-lang3.ve RSION> 3.3.2 </commons-lang3.version> <Commons-io.ersion> 1.3.2 </commons-io.ersion> <Commons-net.version> 3.3 </commons-net.version> <agehelper.version> 3.4 2-fix </pagehelper.version> <jsqlparser.version> 0.9.1 </jsqlparser.version> <commons-fileupload.version> 1.3.1 </commons-fileupload.version> <jedis.version> 2.7 .2 </jedis.version> <Solrj.version> 4.10.3 </solrj.version> <bobo.version> 2.5.3 </dubbo.version> <zookeeper.version> 3.4.7 n> 0.1 </ZKClient.Version> <ActionMQ.Version> 5.11.2 </ActiveMq.version> <freemarker.version> 2.3.23 </freemarker.version> <quartz.version> 2.2.2 </quartz.version> </premerties> <!-จัดการแพ็คเกจ JAR ที่ใช้ในทุกโครงการโดยไม่ต้องพึ่งพาจริง-> <การพึ่งพาการจัดการ> <การพึ่งพา> <!-ส่วนประกอบการทำงานเวลา-> <การพึ่งพา> <GroupId> joda-time </groupId>
2 สร้างโครงการรวม Maven
2.1 สร้างโครงการรวม Maven และสืบทอดโครงการหลัก
วิศวกรรมการรวม: เลเยอร์คอนโทรลเลอร์, ดูเลเยอร์ ฯลฯ ในโครงการสามารถเกิดขึ้นได้อย่างอิสระในโครงการและในที่สุดก็รวมเข้ากับโครงการเมื่อมันถูกเรียกใช้ในที่สุด
pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <carent> <roupid> com.itqf </groupid> <ratifactid> <RoupID> com.itqf </groupId> <ratifactid> Sing-Manager </artifactid> <version> 0.0.1-Snapshot </เวอร์ชัน> <packaging> POM </packaging> <pendencies> </perencies> <uffect> <plugins> <plugin> <mlugin> <roupId> org.apache.tomcat.maven </groupid> <ratifactid> tomcat7-maven-plugin </artifactid> <การกำหนดค่า> <fort> 8083 <modules> Sing-Manager-Pojo </doDule> <module> Sing-Manager-Interface </doDule> <module> Sing-Manager-Service </doDule> <module> Sing-Manager-Mapper </ Module> </ Modules>
2.2 สร้างโมดูล Maven ในโครงการรวมและตั้งชื่อมันเป็น Sping-Manager-Pojo (เลเยอร์คลาสเอนทิตี)
Pojo เป็นรูปแบบ Jar ปกติและไม่จำเป็นต้องพึ่งพาโครงการหลัก
pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <parent> <roupid> com.itqf </groupid> <ratifactid> Sing-Manager <ArtIfactId> Sing-Manager-Pojo </artifactid> </project>
2.3 สร้างโมดูล Maven ในโครงการรวมและตั้งชื่อ Spring-Manager-Mapper (Dao Layer) พึ่งพา pojo ในไฟล์ pom.xml เนื่องจากเมธอดเลเยอร์ Mapper ส่งคืนวัตถุคลาสเอนทิตีจึงต้องใช้ POJO
นำเข้าแพ็คเกจขวดการพึ่งพา
xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <parent> <roupid> com.itqf </groupid> <ratifactid> Sing-Manager <ArtIfactId> Sing-Manager-Mapper </artifactid> <!-pojo การพึ่งพา-> <การพึ่งพา> <การพึ่งพา> <roupId> com.itqf </groupid> <ratifactid> Sing-Manager-Pojo </artifactid> -> <predency> <roupId> org.mybatis </groupId> <ratifactid> mybatis </artifactid> <cersion> $ {mybatis.version} </เวอร์ชัน> GroupId> org.mybatis </groupId> <ratifactid> mybatis-spring </artifactid> <version> $ {mybatis.spring.version} </version> </dercendency> <การพึ่งพา> <gro upid> com.github.miemiedev </groupid> <ratifactid> mybatis-paginator </artifactid> <cersion> $ {mybatis.paginator.version} </เวอร์ชัน> </การพึ่งพา> < pendency> <roupId> com.github.pageHelper </groupId> <ratifactId> PageHelper </artifactid> <cersion> $ {pagehelper.version} </version> </derness> <!-! mysql-> <การพึ่งพา> <roupid> mysql </groupid> <ratifactid> mysql-connector-java </artifactid> <version> $ {mysql.version} </เวอร์ชัน> </การพึ่งพา> <!-การเชื่อมต่อ พูล-> <cendency> <roupId> com.alibaba </groupid> <ratifactid> druid </artifactid> <version> $ {druid.version} </version> 2.4 สร้าง Spring-Manager-Interface (อินเตอร์เฟส) ในโครงการรวมและวางอินเทอร์เฟซบริการทั้งหมดลงในโครงการอิสระ หากค่าส่งคืนของวิธีการในอินเทอร์เฟซเป็นคลาสเอนทิตีจำเป็นต้องใช้ POJO ดังนั้นจึงขึ้นอยู่กับ Pojo xml ใน POM
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <parent> <roupid> com.itqf </groupid> <ratifactid> Sing-Manager <ArtIfactId> Sing-Manager-Interface </artifactId> <pendencies> <การพึ่งพา> <roupId> com.itqf </groupId> <ratifactId> Sing-Manager-Pojo </artifactid>
2.5 สร้างสปริง-ผู้จัดการ-บริการ (คลาสการใช้งานอินเตอร์เฟส) ในโครงการการรวม วิธีบรรจุภัณฑ์คือสงคราม
เนื่องจากเลเยอร์คอนโทรลเลอร์ถูกคั่นด้วยเลเยอร์บริการเมื่อทำงานและเริ่มต้นคอนโทรลเลอร์และบริการควรเผยแพร่แยกกันโดยใช้ Tomcat และไฟล์การกำหนดค่าทั้งหมดที่ต้องการในโครงการรวมจะถูกวางลงในบริการเพื่อให้ไฟล์การกำหนดค่าทั้งหมดจะถูกโหลดและรวมเมื่อเริ่มต้น TomCat
ไฟล์กำหนดค่า
SqlMapConfig.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype configurationPublic "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd
db.properties
db.driver = com.mysql.jdbc.driverdb.url = jdbc: mysql: // localhost: 3306/taotao? catreatencoding = utf-8db.username = rootdb.password = root
applicationContext-tx.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: p = "http://www.springframework.org/schema/p" xmlns: บริบท = "http://www.springframework.org/s chema/contex amework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:dubbo="http://c ode.alibabatech.com/schema/dubbo"xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://ww.springframework http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibaBaTech.com/schema/dubbo.dubbo.alibabatech.com/dubbo.alibabatech http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <bean id =" txmanager "> id = "ropervingId" transaction-manager = "txManager"> <tx: แอตทริบิวต์> <tx: method name = "เพิ่ม*" การแพร่กระจาย = "ต้องการ"/> <tx: method name = "บันทึก*" การแพร่กระจาย = "จำเป็น"/> <tx: method = "แทรก*" name = "update*" การแพร่กระจาย = "จำเป็น"/> <tx: method name = "del*" การแพร่กระจาย = "จำเป็น"/> <tx: method name = "find*" การแพร่กระจาย = "สนับสนุน" read-only = "true"/> <tx: method = "get*" propagation = "สนับสนุน <AOP: Advisor Advice-ref = "AdviceId" pointcut = "การดำเนินการ (*com.itqf.service ..*.*(.. ))"/> </aop: config> </epeans>
applicationContext-dao.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: p = "http://www.springframework.org/schema/p" xmlns: บริบท = "http://www.springframework.org/schema/contex amework.org/schema/mvc"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemalocation="http://www.springframework http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://ww.springframework http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/Contexte http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <context: property-lace-holder ที่ตั้ง =" resource/*. properties "/> <bean id =" DataSource "> <property name =" name = "url" value = "$ {db.url}"> </คุณสมบัติ> <property name = "ชื่อผู้ใช้" value = "$ {db.username}"> </คุณสมบัติ> <property name = "password" value = "$ {db.password}" </ebean> <bean> <property name = "dataSource" ref = "dataSource"> </คุณสมบัติ> <property name = "การกำหนดค่า" value = "classpath: mybatis/sqlmapconfig.xml"> </property> </bean> <bean> applicationContext-service.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: p = "http://www.springframework.org/schema/p" xmlns: บริบท = "http://www.springframework.org/schema/contex amework.org/schema/mvc"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemalocation="http://www.springframework http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://ww.springframework http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/Contexte http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <context
pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <carent> <roupid> com.qianfeng </groupid> <ratifactid> Sing-Manager <ArtIfactId> Sing-Manager-Service </artifactid> <packaging> สงคราม </packaging> <การพึ่งพา> <การพึ่งพา> <roupId> com.qianfeng </groupId> <ratifactid> Sing-Manager-Interface </artifactid> <version> 0.0.1-snapshot <ArtIfactId> Sing-Manager-Mapper </artifactid> <version> 0.0.1-Snapshot </Servive> </การพึ่งพา> <!-ฤดูใบไม้ผลิ -> <predency> <roupId> org.springframework </groupId> <ratifactid> Spring-Context </artifactid> <persion> $ {Spring.version} </Servive> ring.version} </sverteal> </derctency> <predency> <sdeperency> <sderctiD> org.springframework </groupId> <ratifactId> Spring-Webmvc </artifactid> <cerson> $ {Spring.version} </เวอร์ชัน> </การพึ่งพา> jdbc </artifactid> <persion> $ {spring.version} </เวอร์ชัน> </การพึ่งพา> <การพึ่งพา> <roupId> org.springframework </groupId> <ratifactid> Spring-Aspects </artifactid> RK </groupId> <ratifactId> Spring-JMS </artifactId> <cersion> $ {Spring.version} </Sident> </การพึ่งพา> <การพึ่งพาอาศัยกัน> <roupId> org.springframework </groupId> <ratifactId> </การพึ่งพา> </project>โครงสร้างวิศวกรรมขั้นสุดท้าย
3 ใช้ Dubbo เพื่อเผยแพร่บริการ
คิดก่อน?
เว็บไซต์ห้างสรรพสินค้าเช่น Taobao และ JD ไม่เพียงสามารถเข้าสู่ระบบจากด้านพีซี แต่ยังมาจากด้านโทรศัพท์มือถือ มันใช้งานได้อย่างไร? เขียนสองคอนโทรลเลอร์? นั่นไม่ใช่แน่นอน ใครจะไม่มีอะไรทำเมื่อคุณไม่มีอะไรทำ? จากนั้นต้องใช้ SOA (สถาปัตยกรรมเชิงบริการ) เมื่อเราเขียนโครงการโดยใช้การกระจายจะมีหลายระบบที่จะโทรหากัน หากคุณโทรกลับไปกลับมาโครงสร้างรหัสจะสับสนมาก ที่นี่เราใช้ Dubbo เพื่อจัดการเพื่อแก้ปัญหาของบริการเผยแพร่มากเกินไปและไม่ชัดเจนเกี่ยวกับเรื่องนี้
SOA คืออะไร
SOA เป็นวิธีการออกแบบที่มีบริการหลายบริการและในที่สุดก็จะให้บริการฟังก์ชั่นผ่านความร่วมมือ บริการมักจะมีอยู่ในรูปแบบอิสระในกระบวนการระบบปฏิบัติการ บริการสื่อสารผ่านเครือข่ายมากกว่าการโทรในกระบวนการ
ตัวอย่างเช่นคุณมีบริการมากมายในขณะนี้: บริการข่าว (ให้ข่าวประชาสัมพันธ์การดูการปรับเปลี่ยนการลบ) บริการสั่งซื้อ (การสั่งซื้อการปรับเปลี่ยนคำสั่งการดูคำสั่งซื้อการลบคำสั่งซื้อ ฯลฯ ) บริการทางการเงิน (รายได้ค่าใช้จ่ายสถิติ ฯลฯ ) บริการพนักงานขาย
เกี่ยวกับทูบโบ
Dubbo คืออะไร (เครื่องมือการจัดการสำหรับการจัดตารางเวลาทรัพยากรและศูนย์การกำกับดูแล)
ด้วยการพัฒนาอินเทอร์เน็ตขนาดของแอปพลิเคชันเว็บไซต์ได้รับการขยายอย่างต่อเนื่องและสถาปัตยกรรมแอปพลิเคชันแนวตั้งแบบดั้งเดิมไม่สามารถรับมือกับมันได้อีกต่อไป สถาปัตยกรรมบริการแบบกระจายและสถาปัตยกรรมคอมพิวเตอร์มือถือมีความจำเป็น จำเป็นต้องมีระบบการกำกับดูแลอย่างเร่งด่วนเพื่อให้แน่ใจว่าวิวัฒนาการของสถาปัตยกรรมอย่างเป็นระเบียบ
สถาปัตยกรรมแอปพลิเคชันเดียว
สถาปัตยกรรมแอปพลิเคชันแนวตั้ง
สถาปัตยกรรมบริการแบบกระจาย
สถาปัตยกรรมการคำนวณโฟลว์
การก่อสร้างสภาพแวดล้อม Dubbo:
คำอธิบายบทบาทโหนด:
โทรหาคำอธิบายความสัมพันธ์:
ที่นี่เรามาที่ Registry Center (รีจิสทรี) เป็นหลักและเราใช้ Zookeeper เพื่อทำหน้าที่เป็นศูนย์รีจิสทรี
ปรับใช้รีจิสทรีในสภาพแวดล้อม Linux, Zookeeper
ขั้นตอนแรกคือการเปิดเครื่องเสมือนจริงดังนั้นฉันจะทำใน CentOS7
รับแพ็คเกจบีบอัด Zookeeper ออนไลน์ของฉันคือ ZooKeeper-3.4.6.tar.gz
วางใน /opt ไดเรกทอรีและ decompress (จำเป็นต้องมีสภาพแวดล้อม JDK หากไม่มีสภาพแวดล้อม JDK ให้ติดตั้ง JDK ก่อน)
ป้อนไดเรกทอรี ZooKeeper-3.4.6 และสร้างโฟลเดอร์ที่เรียกว่าข้อมูล
เปลี่ยนชื่อ zoo_sample.cfg ในไดเรกทอรี ./conf เป็น zoo.cfg แก้ไขแอตทริบิวต์ข้อมูลใน zoo.cfg: datadir =/opt/zookeeper-3.4.6/ข้อมูล
ขั้นตอนที่ 7:
โปรดทราบว่าหลังจากที่ zookeeper เริ่มต้นแล้วคุณต้องปิดไฟร์วอลล์ !!! แค่นั้นแค่นั้น
เพิ่มไฟล์การกำหนดค่าลงในบริการ ApplicationContext-service.xml เพื่อเผยแพร่บริการ
<!-ใช้ Dubbo เพื่อเผยแพร่บริการ-> <!-ระบุโครงการที่บริการอยู่-> <dubbo: แอปพลิเคชันชื่อ = "Sing-Manager"/> <!-ระบุที่อยู่รีจิสทรีคือที่อยู่ IP ใน Linux รวมถึงหมายเลขพอร์ต > </dubbo: รีจิสทรี> <!-เปิดเผยบริการไปยังหมายเลขพอร์ตพอร์ตพอร์ตบางพอร์ตเลือกพอร์ตที่ไม่ได้ครอบครอง-> <dubbo: ชื่อโปรโตคอล = "dubbo" พอร์ต = "20888"> </dubbo: โปรโตคอล> <! พอร์ต = "20888"> </dubbo: โปรโตคอล> <!-REF คือชื่อของวัตถุบริการที่สร้างขึ้นโดยคอนเทนเนอร์สปริง-> <dubbo: service interface = "com.itqf.service.itemservice" ref = "imiteserviceimpl" timeout = "6000000">
นำเข้าแพ็คเกจในบริการ pom.xml
<!-เกี่ยวข้องกับ Dubbo-> <การพึ่งพา> <roupId> com.alibaba </groupId> <ArtIfactId> Dubbo </artifactid> <!-ไม่รวมการพึ่งพา -> <evercrusions> <evercusion> <scutId> org.springframework </groupId> <ratifactId> ฤดูใบไม้ผลิ </artifactid> </exclusion> <exclusion> >/การพึ่งพา> <การพึ่งพา> <roupId> org.apache.zookeeper </groupId> <ArtIfactId> Zookeeper </artifactId> </การพึ่งพา> <การพึ่งพา> <roupId> com.github.sgroschupf </groupid>
4 สร้างเครื่องควบคุมสปริง-ผู้จัดการซึ่งอยู่ในระดับเดียวกับโครงการรวม นำเข้าการพึ่งพา
Consoler ต้องใช้ Dubbo เพื่อเข้าถึงบริการที่เผยแพร่โดย Service Layer ในการใช้เซิร์ฟเวอร์ Tomcat สำหรับการเผยแพร่แน่นอนว่า SpringMVC เป็นสิ่งจำเป็นเช่นกัน
xml
<การพึ่งพา> <!-เพียงพึ่งพาอินเทอร์เฟซบริการ-> <การพึ่งพา> <roupId> com.qianfeng </groupId> <ratifactid> Sing-Manager-Interface </artifactid> <version> 0.0.1-Snapshot </เวอร์ชัน> </erdency> -> <predency> <roupId> org.springframework </groupId> <ratifactid> Spring-Context </artifactid> <persion> $ {Spring.version} </Servive> ring.version} </sverteal> </derctency> <predency> <sdeperency> <sderctiD> org.springframework </groupId> <ratifactId> Spring-Webmvc </artifactid> <cerson> $ {Spring.version} </เวอร์ชัน> </การพึ่งพา> jdbc </artifactid> <persion> $ {spring.version} </เวอร์ชัน> </การพึ่งพา> <การพึ่งพา> <roupId> org.springframework </groupId> <ratifactid> Spring-Aspects </artifactid> RK </groupId> <ratifactId> Spring-JMS </artifactId> <persion> $ {Spring.version} </เวอร์ชัน> </การพึ่งพา> <predency> <sdependency> <roupId> org.springframework </groupid> <ratifactid> jsp- เกี่ยวข้อง-> <cendency> <roupId> jstl </groupId> <ratifactid> jstl </artifactid> </การพึ่งพาอาศัย> <การพึ่งพา rtifactid> <cope> ให้ </cope> </dercendency> <การพึ่งพา> <roupId> javax.servlet </groupId> <ratifactId> jsp-api </artifactid> <pope> ให้ </pope> Dubbo ที่เกี่ยวข้อง-> <การพึ่งพา> <roupId> com.alibaba </groupId> <ratifactid> Dubbo </artifactId> <!-ยกเว้นการพึ่งพา -> <evercrusions> <evercusion> <scutId> org.springframework </groupId> <ratifactId> ฤดูใบไม้ผลิ </artifactid> </exclusion> <exclusion> >/การพึ่งพา> <การพึ่งพา> <loupId> org.apache.zookeeper </groupid> <ratifactId> Zookeeper </artifactid> </การพึ่งพาอาศัย> <การพึ่งพา> <roupId> com.github.sgroschupf </groupid> <uild> <plugins> <plugin> <molin> <roupId> org.apache.tomcat.maven </groupId> <ratifactid> tomcat7-maven-plugin </artifactid> <การกำหนดค่า> <port> 8081 </sot> spingmvc.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: p = "http://www.springframework.org/schema/p" xmlns: บริบท = "http://www.springframework.org/s chema/contex amework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:dubbo="http://c ode.alibabatech.com/schema/dubbo"xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://ww.springframework http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibaBaTech.com/schema/dubbo.dubbo.alibabatech.com/dubbo.alibabatech http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <บริบท: component-scan base-package =" com.itcontqf. <MVC: คำอธิบายประกอบ-ไดรฟ์> </mvc: คำอธิบายประกอบ-ไดรฟ์> <bean> <property name = "คำนำหน้า" value = "/web-inf/jsp/"> </คุณสมบัติ> <property name = "suffix" value = ". jsp"> ศูนย์การลงทะเบียน-> <Dubbo: Registry Protocol = "Zookeeper" ที่อยู่ = "10.0.117.198:2181"> </dubbo: รีจิสทรี> <!-โทรหาบริการ-> <dubbo: อ้างอิงอินเทอร์เฟซ = "com.itqf.service.itemservice
แผนภาพโครงสร้าง:
5 สร้างสปริงทั่วไป
นี่คือสถานที่ที่ฉันต้องใช้ในการวางเครื่องมือโดยเฉพาะซึ่งใช้เพื่อวางความต้องการของประชาชน pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <carent> <roupid> com.itqf </groupid> <ratifactid> <roupId> com.itqf </groupid> <ratifactid> ร้องเพลง Common </artifactid> <version> 0.0.1-snapshot </version> <pendencies> <!-การดำเนินการเวลา Component-> <predency> <roupId> joda-time </groupId> <ratifactid> joda-time </artifactid> <cersion> $ {joda-time.version} </version> ส่วนประกอบ-> <การพึ่งพา> <roupId> org.apache.Commons </groupId> <ratifactId> Commons-Lang3 </artifactid> <sersion> $ {Commons-Lang3.Version} </Serve> </การพึ่งพา> <การพึ่งพา ID> Commons-io </artifactId> <persion> $ {Commons-io.version} </เวอร์ชัน> </การพึ่งพาอาศัย> <การพึ่งพา> <roupId> Commons-Net </groupId> <ArtifactId> Commons-Net </artifactid> Toolkit-> <predency> <roupId> com.fasterxml.jackson.core </groupId> <ratifactId> Jackson-Databind </artifactId> <cersion> $ {Jackson.Version} </Serve> </การพึ่งพา> </การพึ่งพา6 การทดสอบ
โอเคโครงการที่แจกจ่ายแบบหลอกนี้ถูกสร้างขึ้น จุดสำคัญต่อไปคือโครงการแม่, โครงการรวมของผู้จัดการฤดูใบไม้ผลิและจำเป็นต้องติดตั้งสปริง-คอมมอนในคลังสินค้าท้องถิ่น มิฉะนั้นจะมีการรายงานข้อผิดพลาดเมื่อเริ่มโครงการและไม่พบโครงการหลักหรือโครงการอื่น ๆ
ภาพวาดสุดท้าย:
สรุป:
หลังจากทำงานหนักหลายชั่วโมงในที่สุดฉันก็สร้างมันขึ้นมา ชายชราที่กำลังจะเหนื่อยและระเบิด หากมีข้อผิดพลาดหรือข้อบกพร่องใด ๆ โปรดเต็มใจทำเช่นนั้น
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น