1 didistribusikan
1.1 Apa yang didistribusikan
1.2 Perbedaan antara didistribusikan dan cluster
Ternyata hanya ada satu koki di restoran kecil, yang memotong sayuran, mencuci sayuran, menyiapkan bahan-bahan dan menggoreng semuanya. Kemudian, ada lebih banyak pelanggan, dan koki di dapur terlalu sibuk, jadi dia menyewa koki lain. Kedua koki bisa memasak hidangan yang sama. Hubungan antara kedua koki ini adalah sebuah cluster. Untuk membiarkan koki berkonsentrasi pada memasak dan melakukan yang terbaik dari hidangan, ia menyewa lauk untuk bertanggung jawab untuk memotong sayuran, menyiapkan hidangan, dan menyiapkan bahan. Hubungan antara koki dan lauknya didistribusikan, dan satu lauk terlalu sibuk, jadi dia menyewa lauk, dan hubungan antara kedua lauk adalah cluster.
2. Bangun proyek terdistribusi
Alat Persiapan: Eclipse, VMWarm Dilengkapi dengan Sistem Centos7, Zookeeper .... Yang paling penting adalah mesin lansia berusia tiga tahun.
1 Pertama -tama buat proyek Maven dari kelas induk, dan metode pengemasannya adalah POM.
Buat proyek Maven kelas induk di Eclipse, dan metode pengemasannya adalah POM. Mengapa Membuat Proyek Maven Kelas Induk? Karena Anda ingin menggunakan proyek Maven ini untuk mengelola berbagai versi paket JAR, jika subclass menginginkan paket JAR secara langsung dan kelas induk, Anda dapat melakukannya. xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.itqf</groupId> <artifactId>sing-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <!-- Define the version of all Paket JAR-> <Properties> <Junit.Version> 4.12 </junit.version> <spring.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><slf4j.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> <domons-lang3.ve rsion> 3.3.2 </commons-lang3.version> <domons-io.version> 1.3.2 </commons-io.version> <domons-net.version> 3.3 </commons-net.version> <pageHelper.version> 3.4. 2-fix </pagehelper.version> <jsqlparser.version> 0.9.1 </jsqlparser.version> <domons-fileupload.version> 1.3.1 </commons-fileupload.version> <jedis.version> 2.7 .2 </jedis.version> <solrj.version> 4.10.3 </solrj.version> <dubbo.version> 2.5.3 </dubbo.version> <hooKeeperer.versio> 3.4.7 </zooKeeper.version> <zkclient.versio n> 0.1 </zkclient.version> <activeMq.version> 5.11.2 </activemq.version> <freemarker.version> 2.3.23 </freemarker.version> <Quartz.version> 2.2.2 </quar.version> </ Properties> <!-Kelola Paket JAR yang digunakan dalam semua proyek, tanpa dependensi nyata-> <dependencyManagement> <dependencies> <!-Komponen Operasi Waktu-> <dependency> <GroupId> Joda-time </grupid>
2 Buat proyek agregasi Maven.
2.1 Buat proyek agregasi Maven dan mewarisi proyek induk.
Rekayasa Agregasi: Lapisan pengontrol, lapisan tampilan, dll. Dalam proyek dapat dibentuk secara independen menjadi sebuah proyek, dan akhirnya diintegrasikan ke dalam proyek ketika akhirnya dijalankan.
pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <podelversion> 4.0.0 </parodversion> <parent> <groupid> com.itqf </groupid> <t ArtiFactid> Sing-parent </Artifactid> <version> </grupf.1-snapsid> </artifactid </version> </version> </artifacTid </artifactid </version> 0.0.1.0.1.0.1 <artifactId>sing-manager</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <dependencies> <dependency> <groupId>com.itqf</groupId> <artifactId>sing-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependencies> <build> <lugin> <lugin> <groupid> org.apache.tomcat.maven </groupid> <ArtifactId> tomcat7-maven-plugin </artifactid> <donfiguration> <port> 8083 </port> <phath> </path> </configuration> </plugin> </port/port/</puch <Modules> sing-manager-pojo </podule> <podule> sing-manager-interface </module> <podule> sing-manager-service </codule> <codule> sing-manager-mapper </odule> </doxy> </poject>
2.2 Buat modul Maven dalam proyek agregasi dan beri nama sping-manager-pojo (lapisan kelas entitas).
Pojo adalah format JAR yang normal dan tidak perlu mengandalkan proyek induk.
pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <nodelversion> 4.0.0 </ModelVersion> <enttent> <groupid> com.itqf </groupid> <artifactid> sing-manager </artifactid> <version> 0.0.1.1-Snapsh> sing-manager </artifactid> <version> 0.0.1.1.0.1.0.1.0.1.0.1 <ArTifactid> Sing-Manager-pojo </stifactid> </poject>
2.3 Buat modul Maven dalam proyek agregasi dan beri nama Spring-Manager-Mapper (lapisan DAO). Mengandalkan pojo di file pom.xml. Karena metode Mapper Layer mengembalikan objek kelas entitas, PoJo perlu digunakan.
Paket Jar Ketergantungan Impor.
xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <nodelversion> 4.0.0 </ModelVersion> <enttent> <groupid> com.itqf </groupid> <artifactid> sing-manager </artifactid> <version> 0.0.1.1-Snapsh> sing-manager </artifactid> <version> 0.0.1.1.0.1.0.1.0.1.0.1 <ArTifactId> sing-manager-mapper </arttifactid> <!-Dependency pojo-> <dependencies> <dependency> <Groupid> com.itqf </groupid> <ArTifactid> Sing-Manager-Pojo </artifactid> <version> 0.0.1-snapshot </Versi> </Dependency> <! -> <dependency> <GroupId> org.mybatis </groupId> <ArTifactId> mybatis </artifactId> <version> $ {mybatis.version} </version> </dependency> <dependency> < GroupId> org.mybatis </groupId> <ArTifactId> mybatis-spring </artifactId> <version> $ {mybatis.spring.version} </version> </dependency> <dependency> <gro Upid> com.github.miemiedev </groupid> <ArtifactId> mybatis-paginator </stifactid> <version> $ {mybatis.paginator.version} </version> </dependency> <de Pendency> <GroupId> com.github.pagehelper </groupId> <ArTifactId> pageHelper </t Artifactid> <version> $ {pageHelper.version} </version> </dependency> <!- Mysql-> <dependency> <GroupId> mysql </sroupId> <ArTifactId> mysql-connector-java </artifactid> <version> $ {mysql.version} </version> </dependency> <!-koneksi Pool-> <dependency> <GroupId> com.alibaba </groupId> <ArTifactId> druid </artifactid> <version> $ {druid.version} </version> </dependency> </dependencies> </project> 2.4 Buat Spring-Manager-Interface (antarmuka) dalam proyek agregasi dan tempatkan semua antarmuka layanan ke dalam proyek independen. Jika nilai pengembalian metode dalam antarmuka adalah kelas entitas, pojo diperlukan. Oleh karena itu, itu tergantung pada pojo xml di pom.
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <nodelversion> 4.0.0 </ModelVersion> <enttent> <groupid> com.itqf </groupid> <artifactid> sing-manager </artifactid> <version> 0.0.1.1-Snapsh> sing-manager </artifactid> <version> 0.0.1.1.0.1.0.1.0.1.0.1 <ArTifactId> sing-manager-interface </arttifactid> <dependencies> <dependency> <Groupid> com.itqf </groupid> <ArTifactid> sing-manager-pojo </artifactid> <version> 0.0.1-snapshot </Versi> </Dependency> </Dependencies> </Project>
2.5 Buat Layanan Manajer-Spring (kelas implementasi antarmuka) dalam proyek agregasi. Metode pengemasannya adalah perang
Karena lapisan pengontrol dipisahkan dari lapisan layanan, saat berjalan dan memulai, pengontrol dan layanan harus diterbitkan secara terpisah menggunakan Tomcat, dan semua file konfigurasi yang diperlukan dalam proyek agregasi ditempatkan ke dalam layanan, sehingga semua file konfigurasi akan dimuat dan diintegrasikan ketika Tomcat dimulai.
File konfigurasi
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration></configuration>
db.properties
db.driver = com.mysql.jdbc.driverdb.url = jdbc: mysql: // localhost: 3306/taotao? karakterenCoding = utf-8db.username = rootdb.password = root
applicationContext-tx.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/s chemA/konteks "xmlns: mvc =" http://www.springframework.org/schema/mvc "xmlns: tx =" http: //www.springfr 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-weans-4.2.xsd http://www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <bean id =" txmanager "> <nama properti =" datasic "> <bean =" txManager "> <nama properti =" DATASOURCE "> <bean =" txManager "> <Properten name =" DATASOURCE " id = "nasihat" transaction-manager = "txManager"> <tx: atribut> <tx: metode metode = "tambahkan*" propagasi = "diperlukan"/> <tx: nama metode = "simpan*" propagasi = "diperlukan"/> <tx: nama metode = "masukkan*" propagasi = "diperlukan"/<tx: Metode: "Metode =" <"Sisipkan*" propagasi = "Diperlukan"/<tx: Metode: "" "" "" Sisipkan*"Propagation =" Diperlukan "/<tx: TX:" METODE = "<" "" "" "" " propagation="REQUIRED"/> <tx:method name="del*" propagation="REQUIRED"/> <tx:method name="find*" propagation="SUPPORTS" read-only="true"/> <tx:method name="get*" propagation="SUPPORTS" read-only="true"/> </tx:attributes> </tx:advice> <aop:config> <aop:advisor Saran-REF = "AdviceId" pointcut = "Eksekusi (*com.itqf.service ..*.*(..))"/> </aop: config> </tobel>
applicationContext-dao.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http: //ww amework.org/schema/mvc"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaloced="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-4.2.xsd http://www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <context: properti-placeHolder location =" classpath: sumber daya/*. Properti "/<" $ {dataSource "> <properti nama =" driverclassname "bernama =" bernama = "$" $ {dataSource "> <properti nama =" driverclassname "value =" value = "$" $ {bb. " value = "$ {db.url}"> </property> <properti name = "username" value = "$ {db.userName}"> </property> <Properti nama = "kata sandi" value = "$ {db.password}"> <Properties> <Properti Nama = "MAXACTIVE" VALUE = "10"> </BEAN> "NAMA" "MINIVE =" 5 "NAMA APOVE =" 5 " <bean> <name properti = "DataSource" ref = "DataSource"> </property> <properti name = "configLocation" value = "classpath: mybatis/sqlmapconfig.xml"> </so propert> </bean> <bean> </property = "bean" values = "com.itqf.m. applicationContext-service.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http: //ww amework.org/schema/mvc"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaloced="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-4.2.xsd http://www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-44
pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <podelversion> 4.0.0 </modelversion> <parent> <groupid> com.qianfeng </groupid> <artifactid> sing-manager </artifactid> <version> 0.0.1.1. <ArtifactId> Sing-Manager-Service </arttifactid> <packaging> war </packaging> <dependencies> <dependency> <groupid> com.qianfeng </groupid> <ArtifactId> Sing-Manager </Artifactid> <version> 0.0.1-Snapshot </Version> </ArtifactId> <version> 0.0.1-Snapshot </Version> </ArtifactId> <version> 0.0.1-Snapshot </Version> </Version> </ArtifactId> <version> 0.0.1.1 <ArTifactId> sing-manager-mapper </artifactid> <version> 0.0.1-snapshot </version> </dependency> <!-Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${sp Ring.Version} </version> </dependency> <dependency> <GroupId> org.springframework </groupid> <ArTifactId> spring-webmvc </t Artifactid> <version> $ {spring.version} </version> </dependency> <dependency> <sroupid> <groupid> org.springfring </version> </dependency> <Arpendency> <groupDid> JDBC </StifactId> <Version> $ {spring.version} </version> </gandendency> <dependency> <groupid> org.springframework </proupid> <RaintifactId> Spring-aspects </arttifactid> <version> $ {spring.version} </Versi </Depgerency> </version> {spring rk </groupid> <ArTifactId> spring-jms </stifactid> <version> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <t ArtifactId> Spring-context-support </arttifactid> </groupies $ {version> </versionStruktur Teknik Akhir
3 Gunakan Dubbo untuk menerbitkan layanan
Pikirkan dulu?
Situs web mal seperti Taobao dan JD tidak hanya dapat masuk dari sisi PC, tetapi juga dari sisi ponsel. Bagaimana cara diimplementasikan? Tulis dua pengontrol? Itu jelas tidak. Siapa yang tidak akan dilakukan ketika Anda tidak ada hubungannya? Maka ini membutuhkan penggunaan SOA (arsitektur berorientasi layanan). Ketika kami menulis proyek menggunakan terdistribusi, akan ada banyak sistem untuk saling menelepon. Jika Anda menelepon bolak -balik, struktur kode akan sangat membingungkan. Di sini kami menggunakan Dubbo untuk mengelola masalah terlalu banyak layanan penerbitan dan tidak jelas tentang hal itu.
Apa itu SOA
SOA adalah metode desain yang mencakup banyak layanan, dan layanan pada akhirnya akan menyediakan serangkaian fungsi melalui kerja sama. Layanan biasanya ada dalam bentuk independen dalam proses sistem operasi. Layanan berkomunikasi melalui jaringan, bukan panggilan dalam proses.
Misalnya, Anda memiliki banyak layanan sekarang: Layanan Berita (memberikan rilis berita, tontonan, modifikasi, penghapusan), layanan pesanan (penambahan pesanan, modifikasi pesanan, penayangan pesanan, penghapusan pesanan, dll.) Layanan keuangan (pendapatan, pengeluaran, statistik, dll.) Layanan karyawan (Statistik Baru, Penonton, Statistik) (Laporan Penjualan) (Masuk, Masuk, Masuk, Pengembalian, Ekspor, Ekspor, Dll.)
dubbo
Apa itu Dubbo (Alat Manajemen untuk Penjadwalan Sumber Daya dan Pusat Tata Kelola)
Dengan pengembangan Internet, skala aplikasi situs web telah diperluas secara terus -menerus, dan arsitektur aplikasi vertikal konvensional tidak dapat lagi mengatasinya. Arsitektur layanan terdistribusi dan arsitektur komputasi seluler sangat penting. Sistem tata kelola sangat dibutuhkan untuk memastikan evolusi arsitektur yang tertib.
Arsitektur aplikasi tunggal
Arsitektur Aplikasi Vertikal
Arsitektur Layanan Terdistribusi
Arsitektur komputasi aliran
Konstruksi Lingkungan Dubbo:
Deskripsi Peran Node:
Deskripsi Hubungan Panggilan:
Di sini kami terutama datang ke Pusat Registri (Registri), dan kami menggunakan ZooKeeper untuk bertindak sebagai Pusat Registri.
Menyebarkan registri di lingkungan Linux, ZooKeeper
Langkah pertama tentu saja menghidupkan mesin virtual, jadi saya akan melakukannya di Centos7.
Dapatkan Paket Terkompresi Zookeeper Online, milik saya adalah Zookeeper-3.4.6.tar.gz
Tempel di /Opt Directory dan Decompress. (Lingkungan JDK diperlukan. Jika tidak ada lingkungan JDK, pasang JDK terlebih dahulu)
Masukkan direktori zookeeper-3.4.6 dan buat folder yang disebut data.
Ganti nama zoo_sample.cfg di direktori ./conf ke zoo.cfg Ubah atribut data di zoo.cfg: datadir =/opt/zooKeeper-3.4.6/data
Langkah 7:
Perhatikan bahwa setelah Zookeeper dimulai, Anda harus mematikan firewall !!! Itu saja.
Tambahkan File Konfigurasi ke Layanan ApplicationContext-Service.xml untuk mempublikasikan layanan
<!-- Use dubbo to publish the service --> <!-- Indicate the project where the service is located --> <dubbo:application name="sing-manager"/> <!-- Indicate the registry address is the IP address in Linux plus the port number, and the default port number of zookeeper is 2181 --> <dubbo:registry protocol="zookeeper" Alamat = "10.0.117.198:2181"> </dubbo: registry> <!-Mengekspos layanan ke nomor port port tertentu, pilih port yang tidak ditempati-> <dubbo: protocol name = "dubbo" port = "20888"> </dubbo: protokol tidak ada port, tidak ada port, port. <dubbo: name protocol = "dubbo" port = "20888"> </dubbo: protocol> <!-Ref adalah nama objek layanan yang dibuat oleh wadah pegas-> <dubbo: antarmuka layanan = "com.itqf.service.itemservice" ref = "itemServiceMl" timeout = "6000000 000000"
Paket Impor di layanan pom.xml
<!-Dubbo-Related-> <dependency> <GroupId> com.alibaba </groupid> <ArTifactId> dubbo </artifactid> <!-mengecualikan dependensi -> <Ecplusions> <Celucsion> <GroupId> org.springframework </groupid> <ArtifactId> Spring </arttifactid> </eksklusi> <scuclusion> <groupid> org.jboss.netty </groupid> <ArTifactId> netty </artifactid> </eksklusif> </exclusions >/Dependency> <dependency> <GroupId> org.apache.zooKeeper </groupId> <ArtifactId> ZooKeeper </artifactid> </dependency> <dependency> <groupid> com.github.sgroschupf </groupid> <titifactid> zkclient </artifactid> </groupid> <titifactid> zkclient </artifactid> </groupidy
4 Buat Spring-Manager-Controller, yang berada pada level yang sama dengan proyek agregat. Dependensi impor.
Consoler perlu menggunakan Dubbo untuk mengakses layanan yang diterbitkan oleh Layanan Layanan. Untuk menggunakan server Tomcat untuk penerbitan, tentu saja, SpringMVC juga diperlukan.
xml
<Dependencies> <!-Cukup bergantung pada antarmuka layanan-> <dependency> <GroupId> com.qianfeng </groupid> <Artifactid> sing-manager-interface </artifactid> <version> 0.0.1-snapshot </version> </dependency> <!-Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${sp Ring.Version} </version> </dependency> <dependency> <GroupId> org.springframework </groupid> <ArTifactId> spring-webmvc </t Artifactid> <version> $ {spring.version} </version> </dependency> <dependency> <sroupid> <groupid> org.springfring </version> </dependency> <Arpendency> <groupDid> JDBC </StifactId> <Version> $ {spring.version} </version> </gandendency> <dependency> <groupid> org.springframework </proupid> <RaintifactId> Spring-aspects </arttifactid> <version> $ {spring.version} </Versi </Depgerency> </version> {spring rk </groupid> <ArTifactId> spring-jms </stifactid> <version> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <artifactId> Spring-context-support </arttifactid> </groupid> <artifactId> Spring-Context-support </arttifactId> </versi </version. JSP-Related-> <dependency> <GroupId> JSTL </groupid> <ArTifactId> jstl </artifactid> </dependency> <dependency> <groupid> javax.servlet </groupid> <ArTifactid> servlet-api </a rtifactId> <scope> disediakan </seupope> </dependency> <dependency> <groupid> javax.servlet </sroupid> <ArtifactId> JSP-API </artifactid> <scope> disediakan </sePope> </dependency> <!- Dubbo Terkait-> <dependency> <GroupId> com.alibaba </groupid> <ArTifactId> dubbo </artifactid> <!-Kecualikan dependensi -> <Ecplusions> <Celucsion> <GroupId> org.springframework </groupid> <ArtifactId> Spring </arttifactid> </eksklusi> <scuclusion> <groupid> org.jboss.netty </groupid> <ArTifactId> netty </artifactid> </eksklusif> </exclusions >/dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId></dependency> </dependencies> <Build> <lugin> <Plugin> <GroupId> org.apache.tomcat.maven </groupid> <ArtifactId> tomcat7-maven-plugin </arttifactid> <donfiguration> <port> 8081 </port> <phath>/</</puch> </configuration> </plugin> </port/port/</path> </configuration> </plugin> </port/port/</puch spingmvc.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/s chemA/konteks "xmlns: mvc =" http://www.springframework.org/schema/mvc "xmlns: tx =" http: //www.springfr 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-weans-4.2.xsd http://www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <context: componen-scan-package =" com.itqf.controller "> Context: componen-scan =" com.itqf.controller " <mvc: anotasi-driven> </mvc: annotation-driven> <bean> <name properti = "prefix" value = "/web-inf/jsp/"> </propert> <properti nama = "suffix" value = ". Pusat Pendaftaran-> <dubbo: Protokol registri = "zooKeeper" alamat = "10.0.117.198:2181"> </dubbo: registri> <!-memanggil layanan-> <dubbo: antarmuka referensi = "com.itqf.service.itemservice" id = "itemservice"> </doudf.service.itemservice "ID =" itemservice "> </duespf.
Diagram Struktural:
5 Buat Spring-Common
Ini adalah tempat yang perlu saya gunakan untuk menempatkan alat khusus, yang digunakan untuk menempatkan beberapa kebutuhan publik; pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <podelversion> 4.0.0 </parodversion> <parent> <groupid> com.itqf </groupid> <t ArtiFactid> Sing-parent </Artifactid> <version> </grupf.1-snapsid> </artifactid </version> </version> </artifacTid </artifactid </version> 0.0.1.0.1.0.1 <ArTifactId> Sing-Common </RiTtifacTID> <Version> 0.0.1-Snapshot </version> <dependencies> <!-Komponen operasi waktu-> <dependency> <groupid> Joda-time </groupid> <ArTifactid> Joda-time </artifactid> </Versi> $ {Joda-time.versione {Version> </Artifactid </artfactid </versi> </versi> $ {Joda-time.version {versi> $ {joda Komponen-> <dependency> <GroupId> org.apache.commons </groupid> <ArTifactId> commons-lang3 </artifactid> <version> $ {commons-lang3.version} </version> </dependency> <dependency> <groupid> org.apache.commons </groupid> <trotifact ID> Commons -o </artifactId> <version> $ {commons-io.version} </version> </dependency> <dependency> <groupid> commons-net </groupid> <ArtifactId> Commons-net </artifactid> <version> $ {commons-net.version} </Versi> </Depgerency> <version> $ {commons-net.version} </Versi </DEGANDENCY> Toolkit-> <dependency> <GroupId> com.fasterxml.jackson.core </groupid> <ArtifactId> Jackson-Databind </artifactid> <version> $ {jackson.version} </versi> </dependency> </dependencies> </proyek>6 tes
Oke, proyek yang didistribusikan semu ini telah dibangun. Poin penting berikutnya adalah bahwa proyek induk, proyek agregasi manajer musim semi, dan Spring-Common perlu dipasang di gudang lokal. Jika tidak, kesalahan akan dilaporkan ketika memulai proyek dan proyek induk atau proyek lain tidak dapat ditemukan.
Gambar terakhir:
Meringkaskan:
Setelah beberapa jam kerja keras, saya akhirnya membangunnya. Orang tua yang akan lelah dan meledak. Jika ada kesalahan atau kekurangan, mohon bersedia melakukannya.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.