Artikel ini memperkenalkan metode Maven untuk membangun backend Java pertamanya. Itu dibagikan dengan Anda. Dengan rincian sebagai berikut:
1. Pengetahuan kembali
Saya telah menjelaskan secara rinci dalam edisi terakhir tentang cara menggunakan Maven untuk membangun proyek pertama Anda. Tautan sebelumnya adalah; Hari ini saya akan menggunakan kerangka kerja SpringMVC dan MyBatis untuk membangun backend java Anda sendiri.
2. Persiapan yang diperlukan
①intellij Ide, lingkungan Maven dibangun dengan baik
Familiar dengan mybatis, springmvc dan kerangka kerja lainnya
③ Basis Data MySQL
3. Tata Letak Arsitektur Keseluruhan
4. Langkah -langkah spesifik
①onfigurasi paket JAR yang akan digunakan di pom.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <!-Berlisensi ke Apache Software Foundation (ASF) di bawah satu atau lebih perjanjian lisensi kontributor. Lihat file pemberitahuan yang didistribusikan dengan pekerjaan ini untuk informasi tambahan mengenai kepemilikan hak cipta. ASF lisensi file ini kepada Anda di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di http://www.apache.org/licenses/license-2.0 kecuali diwajibkan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan apa pun, baik tersurat atau tersirat. Lihat lisensi untuk izin dan batasan yang mengatur bahasa tertentu di bawah lisensi .--> <!-$ id: pom.xml 642118 2008-03-28 08: 04: 16z reinhard $-> <proyek xmlns = "http://maven.apache.org/pom/pom" " xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.orgen.orgen- <modelVersion>4.0.0</modelVersion> <packaging>war</packaging> <name>yakei</name> <groupId>com.yakei</groupId> <artifactId>yakei</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <!--3.0 junit is used to test using programming, while junit4 is used to run junit--> <groupid> junit </groupid> <ArTifactId> junit </artifactid> <version> 4.11 </version> <scope> test </seupop> </gandendency> <!-Dependensi proyek lengkap-> <!-1. Log Java Log meliputi: SLF4J, LOG4J, LOGBACK, Common-logging SLF4J: adalah implementasi log spesifikasi/antarmuka: log4j, logback, penggunaan umum: slf4j+logback-> <dependency> <groupid> org.slf4j </groupid> <ArtiFacTid> Slf4j-Version> Version </version </groupid> <ArtiFacTID> SLF4J-VERSID.1 </Dependency> <dependency> <GroupId> ch.qos.logback </groupid> <ArTifactId> Logback-core </artifactid> <version> 1.1.1 </version> </dependency> <!-mengimplementasikan antarmuka slf4j dan mengintegrasikan-> <groupid> CH.QOS.LOGBack </Groupid> <groupes> <groupid> <roGroupid> CH.QOS.LOGBack </Grouppid> <version> 1.1.1 </version> </dependency> <!-1. Ketergantungan Terkait Database-> <dependency> <GroupId> mysql </groupid> <Artifactid> mysql-connector-java </stifactid> <version> 5.1.36 </version> <scope> runtime </scope> </Dependency> <dependency> <groupid> </croup0 </croup0 </art3 <version> 0.9.1.1 </version> </dependency> <!-2.DAO Framework: MyBatis Dependency-> <dependency> <Groupid> org.mybatis </proveDid> <ArtifactId> Mybatis </ArtifactId> <version> 3.3.0 </Versi </Dependency </Dependency> </MyBat </MyBAT —3.0 <groupId> org.mybatis </proupid> <ArtifactId> mybatis-spring </arttifactid> <version> 1.2.3 </version> </dependency> <!-3.Servlet Dependensi terkait Web-</Art/ARTIFICT> </Version </Version.1 </Groupid> Versi <TRIPACID> </ARTIFT> <dependency> <GroupId> JSTL </GroupId> <ArTifactId> JSTL </artifactid> <version> 1.2 </version> </dependency> <dependency> <groupid> com.fasterxml.jackson.core </groupid> <ArTifactid> Jackson-Databind </arttifactid> </groupid> <Artifactid> Jackson-datacind </arttifactid> </groupid> <Artifactid> Jackson-DataCind </Arttifactid> </Groupid> <Artifactid> Jackson-DataCind </arttifactid> </versies> <Artifactid> </version.4. <GroupId> javax.servlet </proupId> <ArTifactId> javax.servlet-api </arttifactid> <version> 3.1.0 </version> </dependency> <!-4: SPRING DEPENDENCIES-> <!-1) Spring Core Dependencies-<Dependency> <groupid> ORG.SPRINGFRINIC> </ACTIF> </ACTIF </ACTIF> <groupder> <groupid> org.springfringer> <version> 4.1.7.release </version> </dependency> <dependency> <groupid> org.springframework </sroupid> <ArtifactId> Spring-beans </arttifactid> <version> 4.1.7.release </version> </depgergy> <groupt> <groupid> org.springfring </Versi> </Dependency> <grouppid> <groupid> ORG.SPRINGFRINGREY </Version> </Dependency> <grouppid> <groupid> <version> 4.1.7.release </version> </gandendency> <!-2) Spring Dao Layer Dependencies-> <dependency> <GroupId> org.springframework </groupId> <ArtifactId> </ArtifactId> <version> 4.1.7.relase </Versi </Versi> </Artifactid> <version> 4.1.7.release </Version> </Dependency> </Artifactid> <version> 4.1.7.relase </Version> </Dependency> </Artifactid> <version> 4.1.7.relase </Version> </Dependency> </orruppfr. <artifactId>spring-tx</artifactId> <version>4.1.7.RELEASE</version> </dependency> <!--3)springweb-related dependencies--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupid> org.springframework </groupid> <ArTifactId> Spring-WEBMVC </arttifactid> <version> 4.1.7.release </version> </dependency> <!-4) Dependensi terkait tes Spring-<groupid> <groupid> org.springframework </groupid> <sendlency> <sroupid> org.springframework </groupid> <troxtid> <troupid> <version> 4.1.7.release </version> </dependency> </dependencies> </joy Project>Ini mencakup serangkaian paket toples seperti Spring, Mybatis, dll. Proses ini mirip dengan Android yang menambahkan dependensi pihak ketiga untuk dibangun.
2. Buat dua direktori di Direktori Sumber Daya: Mapper, Spring
Mapper: Mapper adalah pemetaan kerangka Mybatis, dan fungsinya adalah menggunakan file pemetaan di lapisan DAO; Di sini saya membuat peta user.xml:
Bagian merah harus diperhatikan. Yang atas adalah jalur untuk memetakan lapisan DAO, dan yang kedua adalah jenis objek pengembalian. Saya akan memposting kode di sini:
<! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace =" com.dajiu.dao.userdao, —mapper namespace = "com.dajiu.dao.userdao"> <! IS, tulis pernyataan SQL kami untuk metode dalam antarmuka dao-> <pilih id = "getAll" resultType = "com.dajiu.bean.user"> SELECT * dari pengguna </pilih> <pilih id = "getLogin" hancur = "com.dajiu.bean.user"> pilih * dari pengguna di mana nama = #{{{{{{{{{{{{{{{{{{{{{{{{{{{name =Spring: Terutama memuat file konfigurasi pegas
1.spring-dao.xml
Kode Pos:
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http:/wwww.spramework.org http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <!-Konfigurasi: Konteks MyBATIS 1. Konfigurasi Data-Param yang Terkait Param Basis Data-Database-Paramer-Paramer Basis Data-Database- Lokasi = "ClassPath: JDBC.Properties"/> <!-2. Pool koneksi database-> <bean id = "DataSource"> <!-Mengkonfigurasi Properti Pool Koneksi-> <nama properti = "driverclass" value = "$ {driver}" /> <!-Properti dasar url, pengguna, kata sandi-> <nama properti = "jdbcurl" value = "$ {url {Url}" /<nama properti = "JDBCURL" value = "$ {password}"/> <!-properti pribadi c3p0-> <name properti = "maxPoolSize" value = "30"/> <properti name = "MinPoolSize" value = "10"/> <!-tidak secara otomatis dikomit setelah menutup koneksi = <Properti nama = "autocommitclose" value = "false"/> <! value = "10000"/> <!-Jumlah RETRY Ketika koneksi gagal-> <nama properti = "AcquireRetryAttempts" value = "2"/> </ bean> <!-Konvensi lebih besar dari konfigurasi-> <!-3. konfigurasi sqlSessionFactory objek-> <bean id = "sqlSessionFactory"> <! <!-menyuntikkan kumpulan koneksi database-> <name properti = "DataSource" ref = "DataSource"/> <!-Konfigurasi file konfigurasi global mybatis: mybatis-config.xml-> <name properti = "configLocation" value = "classpath: mybatis-config.xml"; terpisah-> <name properti = "TypealiSespackage" value = "com.dajiu.bean"/> <!-Pindai file konfigurasi SQL: file XML yang diperlukan oleh mapper-> <nama properti = "mapperlocations" value = "classpath: mapper/*. xml"/</bean> <! itu menjadi wadah musim semi-> <bean> <!-menyuntikkan sqlsessionfactory-> <name properti = "sqlSessionFactoryBeanName" value = "sqlsessionfactory"/> <!-berikan antarmuka dao yang dipindai-> <nama properti = "Basepackage" value = "com.dAuuuuuuuu- ban/bas/bas/bas/bas/</bas/</name/beAns =" com.dAUuuuuuuu- Ban/BEAD/BEAND "COM.DAUU.Tempat untuk memperhatikan:
Terhubung ke database:
Konfigurasikan kelas mybatis-config dan bean global, semua file di bawah mapper
Konfigurasikan DAO
2.spring-service.xml
Kode Pos:
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: tx = "http://www.springframework.org/schema/tx" xsi: schemalocation = "http:/schema http://www.springframework.org/schema/beans/spring-leans.xsd http://www.springframework.org/schema/context http://www.spramework.org/schema/context/spring.spramework.org/schema/context http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd "> <!-pindai semua jenis antro." manager--> <bean id="transactionManager"> <!--Inject database connection pool--> <property name="dataSource" ref="dataSource"/> </bean> <bean id="date"></bean> <!--Configure annotation-based declarative transactions to manage transaction behavior by default-> <tx:annotation-driven Transaction-Manager = "TransactionManager"/> </tobel>
Perhatikan area setempat:
Konfigurasikan Layanan
3.spring-web.xml
Kode Pos:
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http:BaMaM.MFC" xsi: schemalocation = "http:B http://www.springframework.org/schema/beans/spring-leans.xsd http://www.springframework.org/schema/context http://www.spramework.org/schema/context/spring.spramework.org/schema/context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <!-konfigurasi spring mvc-> <!-1, enable springmvc annotation a annotation a. Secara otomatis mendaftarkan DefaultAnnotationHandlermapping, AnnotationMethoDHandlerapter b. Secara default, serangkaian fungsi disediakan: pengikatan data, format angka dan tanggal@numberformat,@datetimeformat c: xml, dukungan baca dan tulis default JSON-> <mvc: anotasi-driven/> <!-2. Konfigurasi Servlet Default dari Sumber Daya Statis-> <!-1). Menambahkan pemrosesan sumber daya statis: JS, GIF, PNG 2). Izinkan "/" untuk melakukan pemetaan keseluruhan-> <mvc: default-servlet-handler/> <!-3: Mengkonfigurasi JSP untuk menampilkan viewResolver-> <bean> <name properti = "viewclass" value = "org.springframework.web.web.servlet.view.jstlview"/<org.spramework. "prefix =" prexl-in/web-infix/WEID/WEICE/WEICE/WEICE/WEID/WEID/WEID/WEIDFIX/WED-INFIX/WEIDFIX/WEID/NAMA/APLIX = "NAME"/WED-INFIX/WED-INFIX/WED-INFIX/WEIDFIX/WEIDFIX " value = ". jsp"/> </ bean> <!-4: pindai kacang yang berhubungan dengan web-> <konteks: komponen-pemindaian back-package = "com.dajiu.controller"/> <mvc: mapping sumber daya = "/**/*** pemetaan = "/**/*. css" lokasi = "/"/> <mvc: pemetaan sumber daya = "/**/*. png" location = "/"/> <mvc: pemetaan sumber daya = "/**/*. GIF" Lokasi = "/"/> </beans>
Perhatikan area setempat:
Konfigurasikan pengontrol
5. Implementasi logis (mengambil pengguna sebagai contoh)
First Tentukan kelas pengguna dalam kacang
Paket com.dajiu.bean;/*** Dibuat oleh Zhangxing pada 2017/4/7. */pengguna kelas publik {private int id; nama string pribadi; kata sandi string pribadi; publik int getId () {return id; } public void setid (int id) {this.id = id; } public string getName () {return name; } public void setName (name string) {this.name = name; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; }}② Kemudian tentukan antarmuka userdao di DAO
Paket com.dajiu.dao; import com.dajiu.bean.user; impor org.apache.iathis.annotations.param; impor org.springframework.stereotype.repository; impor java.util.list;/*** dibuat oleh zhangxing pada 2017/4/4/7. */@RepositoryPublic Interface Userdao {List <User> getAll (); Pengguna getLogin (@param ("name") nama string, @param ("kata sandi") kata sandi);}Memetakan lapisan DAO di user.xml
③Steks untuk mendeklarasikan antarmuka di layanan
Paket com.dajiu.service; import com.dajiu.bean.user; import java.util.list;/*** dibuat oleh zhangxing pada 2017/4/7. */antarmuka publik UserserService {List <User> getAll (); Pengguna getLogin (nama string, kata sandi string);}④ Kemudian terapkan logika antarmuka di layanan.impl
Paket com.dajiu.service.impl; impor com.dajiu.bean.user; impor com.dajiu.dao.userdao; impor com.dajiu.service.userservice; impor org.springframework.beans.factory.annotation.aService; java.util.list;/*** dibuat oleh zhangxing pada 2017/4/7. */ @Service ("Userservice") Kelas Publik UserserServiceImpl mengimplementasikan UserserService {@Autowired Ususdao Userdao; Daftar Publik <User> getAll () {return userdao.getall (); } getLogin pengguna publik (nama string, kata sandi string) {return userdao.getLogin (nama, kata sandi); }}@Autowired di sini setara dengan membuat contoh baru
Logika logika panggilan latar belakang nyata dalam pengontrol
Paket com.dajiu.controller; import com.dajiu.bean.user; impor com.dajiu.service.userservice; impor org.springframework.beans.factory.confoller; autowired; impor org.springframework.stereotipy.confoller; org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.responseBody; import java.util.hashmap; import java.util.list; impor java.util.map;/** yang dibuat oleh zha.util. */@Controller@requestMapping ("/blog") kelas publik userController {@Autowired UserserServerService UsersEver; @RequestMapping ("/getUser") @ResponseBody peta publik <String, Object> getUser () {peta peta = new HashMap (); Daftar <User> list = UserserVice.getAll (); peta.put ("pengguna", daftar); Map.put ("Status", 1); peta.put ("Sukses", true); peta mengembalikan; } @RequestMapping ("getLogin") @ResponseBody peta publik <string, objek> getLogin (nama string, kata sandi string) {peta peta = new hashMap (); Pengguna pengguna = UsserService.getLogin (nama, kata sandi); peta.put ("pengguna", pengguna); peta.put ("islogin", true); Map.put ("Status", 1); peta mengembalikan; }}Di sini @RequestMapping ("") mewakili jalur pemetaan yang diakses, @ResponseBody mewakili hasil permintaan yang dicetak dalam format data JSON, dan @Controller menyatakan bahwa selama jalur pemetaan root di atas diakses, pengontrol akan dipanggil secara langsung;
Sekarang mari kita bantu Anda memahami ide-ide Anda: Pertama minta userController ---> UserserService ----> UserserviceImpl ----> Userdao ---> user.xml (mapper) ----> bean (pengguna)
6. Konfigurasikan server Tomcat
① Klik tombol segitiga hijau di sudut kanan atas dan klik konfigurasi Edit
② Klik tanda + dan pilih Tomcat
③ pilih lokal
④Fill dalam konfigurasi yang relevan
⑤ Klick Deployment, klik tanda +, dan pilih Artefact
Kemudian pilih item pertama dan terus masuk
Dengan cara ini, seluruh proyek Anda akan selesai, dan langkah selanjutnya adalah berkunjung
Oke, hari ini penjelasan SpringMVC dan Mybatis Building Java Backend sudah berakhir.
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.