Artikel ini terutama memperkenalkan integrasi Maven, Mybatis, dan Spring MVC (gambar dan teks) konstruksi kerangka kerja Java. Itu dibagikan dengan Anda. Dengan rincian sebagai berikut:
SSM (Spring+SpringMVC+MyBatis), saat ini solusi arsitektur tingkat perusahaan yang relatif utama. Model desain MVC standar membagi seluruh sistem menjadi empat lapisan: lapisan tampilan, lapisan pengontrol, lapisan layanan, dan lapisan DAO. SpringMVC digunakan untuk bertanggung jawab untuk penerusan permintaan dan melihat manajemen, Spring mengimplementasikan manajemen objek bisnis, dan mybatis digunakan sebagai mesin persistensi objek data.
Detail bingkai
Spring adalah kerangka kerja pengembangan Java yang ringan yang dibuat untuk menyelesaikan kompleksitas pengembangan aplikasi perusahaan. Tujuan Spring tidak terbatas pada pengembangan sisi server. Dari perspektif kesederhanaan, testabilitas, dan kopling longgar, aplikasi Java apa pun dapat memperoleh manfaat dari musim semi. Sederhananya, Spring adalah inversi kontrol yang ringan (IOC) dan kerangka kontainer berorientasi bagian (AOP).
SpringMVC adalah produk selanjutnya dari Springframework, memisahkan peran pengontrol, objek model, operator, dan objek penangan. Pemisahan ini membuat mereka lebih mudah disesuaikan.
Mybatis adalah kerangka kerja kegiatan kegigihan berbasis Java. MyBatis menyediakan kerangka kerja lapisan persistensi termasuk peta SQL dan objek akses data (DAO) yang menghilangkan pengaturan manual dari hampir semua kode dan parameter JDBC dan pengambilan set hasil. MyBatis menggunakan XML sederhana atau anotasi untuk konfigurasi dan pemetaan mentah untuk memetakan antarmuka dan Java untuk merekam dalam database.
1. Unduh Eclipse
Unduh http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr
Pilih versi yang Anda inginkan
2. Buat proyek Maven baru
Pilih File> Baru> Proyek Maven
Anda dapat melihat antarmuka berikut
Klik di sebelah untuk melihat antarmuka berikut. Kami memilih Maven-Archetype-Webapp
Klik di sebelah untuk melihat. ID grup adalah nama paket, dan ID artefak adalah nama proyek. Di sini kita memasukkan id grup = com.cjt, artefak id = mymaven.
Akhirnya, klik Selesai untuk berhasil membuat proyek
3. Persiapan sebelum operasi proyek
Setelah membuat proyek baru, Anda dapat melihat kesalahan, yang disebabkan oleh jalur build dan kegagalan untuk memperkenalkan paket Javaee.
1) Atur jalur build
Klik kanan Proyek> Build Path-> Konfigurasikan Path Build…
Kemudian pilih Perpustakaan
Maven memilih perpustakaan secara default. Ini salah. Mari klik dua kali ini untuk diedit.
Dalam antarmuka berikut, kami memilih JRE alternatif atau workspace default JRE. Di sini kita memilih JRE alternatif.
2) Memperkenalkan paket Javaee
Memperkenalkan paket Javaee di pom.xml
<!-Impor paket jar java ee-> <dependency> <GroupId> javax </proupid> <ArtifactId> javaee-api </artifactid> <version> 7.0 </version> </dependency>
4. Pengaturan File Konfigurasi Proyek
1) Atur pom.xml
Kami sekarang mengatur pom.xml dan mengunduh paket jar. Proses ini mungkin agak lambat
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/maven-v4_0_0.xsd "> <podelversion> 4.0.0 </podelversion> <groupid> com.cjt </groupid> <ArTifactid> MyMaven </Artifactid> <packaging> War </packring> <TRONEV> 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 WebApp </name> <rurl> http://maven.apache.org </ruRl> <prop Properties> <!-Nomor versi musim semi-> <spring.version> 4.0.2.release </spring.version> <!-Nomor versi mybatis-> <mybatis.version> 3.2.6 </mybatis.version.version> Version <MyBATIS.Version> 3.2.6 </mybatis.version.version <slf4j.version> 1.7.7 </slf4j.version> <tog4j.version> 1.2.17 </log4j.version> </Properties> <dependencies> <dependency> <groupid> Junit </groupid> <Artifactid> Junit </arttifactid> <groupid> </groupid> <ArTifactid> Junit </arttifactid> <groupid> </groupid> <ArtifactId> Junit </arttifactid> <version> </groupid> <ArtifactId> Junit </arttifactid> <version> </groupid> <Artifactid> </Artifactid> </Versi 3.8.8.8.8.18.18. java ee jar package --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!-- spring core package --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version> $ {spring.version} </version> </dependency> <dependency> <groupId> org.springframework </groupid> <RaintifactId> spring-web </t Artifactid> <version> $ {spring.version} </version> </dependency> <dependency> <version> <groupid> <ArTifactId> spring-oxm </stifactid> <version> $ {spring.version} </version> </dependency> <dependency> <groupid> org.springframework </groupid> <ArTifactId> </ArtifactId> <version> $ {spring.version} </Version> </Version> </Versi> <version> $ {spring.version} </Version> </Versi> </Versi> </Versi> </Versi> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </Dependency> <dependency> <GroupId> org.springframework </groupid> <ArTifactId> spring-aop </stifactid> <version> $ {spring.version} </version> </Artextid> <Artxext-context-contexport </versi-cupport </Artextid> <Attifactid> <RoupTiPID> </Artextid> <Attif-contextD> <version> $ {spring.version} </version> </dependency> <dependency> <GroupId> org.springframework </groupid> <ArTifactId> spring-test </stifactid> <version> $ {spring.version} </version> </dependency> <!-Mybatis Core Package-> </version <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- mybatis/spring package--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- Import java ee Paket JAR-> <dependency> <GroupId> javax </groupid> <ArTifactId> javaee-api </stifactid> <version> 7.0 </version> </dependency> <!-Impor MySQL Link Paket JAR-> <groupid> <sroupid> MySQL </Groupid> <t Artifactid> MyFACTID> <version> 5.1.30 </version> </dependency> <!-Impor paket JAR DBCP untuk mengonfigurasi database di applicationContext.xml-> <dependency> <groupid> commons-dbcp </groupid> <t ArtifactId> commons-dbcp </artifactid> </version> <artifactid> commons-dbcp </artifactid> </Version> <TROGER> <T/Version> </Versi </Version> </artifactId> </.2. <groupId> jstl </groupId> <ArTifactId> jstl </stifactid> <version> 1.2 </version> </dependency> <!-Paket manajemen file log-> <!-Log Start-> <dependency> <sroupId> </groupid> <ArtifactId> log4j </Arttifactid> </Version </groupId> <ArTifacTid> log4j </Arttifactid> $ {Version> </Artifactid> LOG4J </ArttifactId> </Version> </Groupid> <ArTifacTid> log4j </Arttifactid> <TERVERICED> $ {version> {versi {versi {versi {versi {versi {version> Objek untuk memfasilitasi output log-> <dependency> <groupid> com.alibaba </proupid> <ArtiFacTId> FastJson </artifactid> <version> 1.1.41 </version> </dependency> <ArtiF4J-ARG.SLF4J </groupid> <ArTtifacTID> SlF4-Api. <version> $ {slf4j.version} </version> </dependency> <dependency> <GroupId> org.slf4j </groupid> <ArTifactId> slf4j-gog4j12 </artifactid> <version> $ {slf4j.version} </versi> </Dependency> <! <groupid> org.codehaus.jackson </proupid> <Artifactid> jackson-mapper-asl </arttifactid> <version> 1.9.13 </version> </gandendency> <!-Paket komponen unggah-> </version> </version> </version </version> <artefif-fileuDoad </groupid> <Arttifactid> Commons Commons Commons Commons </GroupDID> <ArTtifacTID> Commons Commons Com. </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> </dependency> </build> <finalname> testMaven01 </finalname> </build> </poject>2) Buat JDBC.Properties
driver = com.mysql.jdbc.driverUrl = jdbc: mysql: // localhost: 3306/testusername = rootpassword =#define awal koneksi nomor inisialisasi = 1#tentukan nomor koneksi maksimum MaxActive = 20#Define Maximum IDLE MAXIDLE = 20#DEFINE MINIMUM IDLE IDLE MINICE = 20#
3) LOG4J.Properties
### Set Level Log #### LOG4J.ROOTLOGGER = DEBUG, STDOUT, D, ELOG4J.ROOTLOGGER = DEBUG, STDOUT, D ### Output ke konsol ### LOG4J.Appender.stdout = org.apache.log4j.consoleappenderlog4j.appender. System.outlog4j.Appender.stdout.layout = org.apache.log4j.patternLayout#log4j.applent.stdout.layout.conversionPattern = %d {absolute} %5p %c {1}: %l- %m %nlog4j.appender.stdout.stdout.stdout HH: mm: ss} [%c]-[%p]%m%n ### output ke file log ### log4j.appender.d = org.apache.log4j.dailyrollingfileAppenderlog4j.appender.pile.file = $ {springmvc.root} /plog. truelog4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### Save exception information to separate file ### log4j.Appender.d = org.apache.log4j.dailyrollingFileAppenderLog4j.applender.d.file = $ {springmvc.root} /web-inf/logs/error.log Log4j.appler.d.appling = truelog.appender. org.apache.log4j.patternlayoutlog4j.appender.d.layout.conversionPattern = %-d {yyyy-mm-dd hh: mm: ss} [ %t: %r]-[ %p] %m %n4) Spring-mvc.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/mvc" xsi: schemalocation = "http:/schema http://www.springframework.org/schema/beans/spring-weans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! Base-package = "com.cjt.controller"/> <!-hindari file unduh saat yaitu mengeksekusi jax dan kembali ke json-> <bean id = "mappingJacksonHttpmessageConverter"> <name property = "start-uT/uT/</list> <list> <list> <value> teks/html; charset = —-uT/8 Fungsi Anotasi SpringMVC Untuk menyelesaikan pemetaan permintaan dan anotasi pojos-> <bean> <name properti = "messageConverters"> <cist> <ref bean = "mappingjacksonhttpmessageConverter"/> <!-json converter-> </list> </properti> </bean> <! <Bean> <!-Pemahaman saya tentang konfigurasi di sini adalah untuk secara otomatis awalan dan sufiks string yang dikembalikan dengan metode tindakan selanjutnya untuk menjadi alamat URL yang tersedia-> <name properti = "prefix" value = "/web-inf/jsp/"/> <property name = "suffix" value = ". jsp"/</bean> <!-<! Jika Anda tidak menggunakan unggahan file, Anda tidak perlu mengonfigurasinya. Tentu saja, jika Anda tidak cocok, maka tidak perlu memperkenalkan paket komponen unggahan dalam file konfigurasi-> <bean id = "multipartresolver"> <!-encoding default-> <name properti = "DefaultEncoding" value = "UTF-8" /> <!-Ukuran file maksimum-> <nama properti = "MAXUPLOADIZE" MAXUMIMLE " /MAXIME." MAXIME. "MAXUMICE = MAXUMICE = MAXIME." MAXUMICE = MAXUMICE = MAXUMICE = MAXIME. "MAXUMICE = MAXUMIME /MAVIME,> -> <name properti = "maxInmemorySize" value = "40960"/> </t bean> </tobel>
5) Spring-mybatis.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/mvc" xsi: schemalocation = "http:/schema http://www.springframework.org/schema/beans/spring-weans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <!-scan otomatis-> <konteks: komponen-scan-package =" com. " <bean id="propertyConfigurer" > <property name="location" value="classpath:jdbc.properties" /> </bean> <bean id="dataSource" destroy-method="close"> <property name="driverClassName" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- Initialize the connection size --> <property name="initialSize" value="${initialSize}"></property> <!-- Maximum number of connection pools--> <property name="maxActive" value="${maxActive}"></property> <!-- Maximum free connection pool --> <property name="maxIdle" value="${maxIdle}"></property> <!-- Minimum idle connection pool--> <property name="minIdle" value="${minIdle}"></property> <!-- Get the maximum connection waiting time--> <property name="maxWait" value="${maxWait}"></property> </bean> <!-- Perfect integration of spring and Mybatis, tidak ada file pemetaan konfigurasi mybatis-> <bean id = "sqlsessionfactory"> <properti name = "DataSource" ref = "DataSource"/> <!-pemindaian otomatis Mapping. Nama paket di mana antarmuka DAO berada, Spring akan secara otomatis menemukan kelas di bawahnya-> <bean> <name properti = "basepackage" value = "com.cjt.dao"/> <nama properti = "sqlSessionFactoryBeanname" value = "sqlsessionfactory"> </properti> </bean> <!-value = "sqlSessionFactory"> </properti> </bean> <! <bean id = "TransactionManager"> <properti name = "DataSource" ref = "DataSource"/> </tean> </tean>Semua file di atas dibuat di folder sumber daya
5. Secara otomatis menghasilkan kode basis data
1) Buat tabel baru
Pertama, kami membuat tabel baru user_t, dan bidangnya adalah sebagai berikut:
2) Unduh paket
Paket unduhan meliputi: mybatis-3.2.6.jar , mybatis-generator-core-1.3.3.jar, mysql-connector-java-5.1.39-bin.jar
3) Jalankan - Menghasilkan Kode Secara Otomatis
Buat folder baru, termasuk file berikut
GeneratorConfig.xml adalah file XML yang menghasilkan kode, dan kontennya adalah sebagai berikut:
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype GeneratorConfiguration Public "-// mybatis.org//dtd MyBatis Generator Configuration 1.0 // en" "http://mybatis.org/dtd/mybatis-genercon>" cond- " <!-- Database Driver--> <classPathEntry location="mysql-connector-java-5.1.39-bin.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- Whether to remove the automatically generated comments true: Yes: false: No--> <property name = "SuppressAllComments" value = "true"/> </commentgenerator> <!-database tautan url, nama pengguna, kata sandi-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" connectionL = "jdbc: mysql: // localhost: 330/test" uji = "" "" "" JDBC = "" <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- Generate the package name and location of the model --> <javaModelGenerator targetPackage="com.cjt.domain" targetProject="src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- Generate the package name and location of the mapping file --> <sqlMapGenerator targetPackage="com.cjt.mapping" targetProject="src"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- Generate the package name and location of DAO-> <javaClientGenerator type = "xmlmapper" targetpackage = "com.cjt.dao" targetProject = "src"> <name properti = "enableSubpackages" value = "true"/> </javaclientgenerator> <!-tabel yang dihasilkan adalah nama datitas dalam datitas orabasionorerer> <!-tabel yang dihasilkan adalah nama dalam name di DATOBASI ORTOBABASE ARDEKN-Tabel yang dihasilkan adalah Tabel yang dihasilkan adalah The DATOBECENOME DATOBICE ARDEKN ATAUTICE DATOBASI ADALE DI DATOBICE ARDEKN- TableName = "user_t" domainObjectName = "user" enableCountByExample = "false" enableupDateByExample = "false" enableDeLetebyexample = "false" memungkinkanelectbyexample = "false" sfictbyexampleyid = "false"> </table> </context> </generator configuration>
Kemudian kami menggunakan perintah CMD untuk memasukkan folder yang baru dibuat dan masuk:
java -jar mybatis -generator-core -.3.3.jar -configfile generatorconfig.xml -overwrite
Akhirnya, kode dihasilkan.
Catatan: Kode secara otomatis dihasilkan di sini melalui baris perintah, dan pembaca juga dapat menghasilkannya melalui plug-in Eclipse.
6. Kode Mulai
Buat paket baru, sebagai berikut: (Panah semuanya dihasilkan secara otomatis di atas)
Iuserservice.java
antarmuka publik iuserservice {pengguna publik getUserbyId (int id); }UserserServiceImpl.java
@ServicePublic kelas UserserviceImpl mengimplementasikan iUserservice {@Autowired private iuserdao userdao; Public UserServiceImpl () {System.out.println ("UserserViceImpl"); } pengguna publik getUserbyId (int id) {return userdao.selectByprimarykey (id); }}Usercontroller.java
@Controller@requestMapping ("/user") kelas publik usercontroller {public userController () {System.out.println ("userController"); } @Resource private iuserservice Userservice; @RequestMapping ("/showUser") String publik ToIndex (permintaan httpservletRequest, model model) {System.out.println ("UserController ShowUser"); int id = integer.parseint (request.getParameter ("id")); Pengguna pengguna = UsserService.getUserById (ID); model.addattribute ("pengguna", pengguna); mengembalikan "showuser"; }}Buat direktori baru JSP di bawah Web-INF, dan buat file baru showuser.jsp di bawah ini
showuser.jsp
<%@ halaman bahasa = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8" impor = "java.util.*, com.cjt.domain.*"%> <! Doctype html public "-// w3c // dtd html 4.01 pubisi html"-// w3c // dtd html 4.01 gentml public "-// w3c // dtd html 4.01 grouct html"-// w3c // dtd html 4.01 publition "eng"/w3c // dtd html 4.01 publition "en" "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = UTF-8 "> <title> masukkan judul di sini </title> </head </head </charset = UTF-8"> <title- title judul di sini </title> </head </head>
Akhirnya, lampirkan web.xml
<? Xml Version = "1.0" encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xmlns =" http://java.com/xmlns = "http://java.com/xmlns = XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/we-noulpe.30" "Version" "versun" versun "versun" versun "versun" versun " Aplikasi Web </play-name> <!-File Konfigurasi Spring dan MyBatis-> <Context-param> <param-name> ContextConfigLocation </param-name> <param-value> classpath: spring-mybatis.xml </param-value> </context-param> <!-Filter-n-n-nyfiling </Param-Value> </Context-Param> <!-Filter-n-n-n-nyany <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name> encodingfilter </filter-name> <ruct-pola>/*</ruRl-pattern> </tiler-Mapping> <!-listener spring-> <listener-class> org.springframework.web.context.contextLoadererer </listener-classis> </listener> <pencere! <listener-class> org.springframework.web.util.introspectorcleanuplistener </engeaner-class> </engeaner> <!-Spring MVC Servlet-> <servlet> <servlet-name> </servlet-name> <servlet-class> org.springframework.wispats. <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-mapping> <servlet-name> springmvc </servlet-name> <!-Di sini Anda dapat mengonfigurasi *.do, sesuai dengan kebiasaan sufiks struts-> <roRl-pola>/</rerl-pola> </servlet-Mapping> <creendak-file-list> <creendak-fils
Di atas, pembuatan kode selesai.
Proyek dapat diunduh: https://github.com/cjt321/mavenspirngmvcmybatis
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.