บทความนี้ส่วนใหญ่แนะนำการบูรณาการของ Maven, MyBatis และ Spring MVC (รูปภาพและข้อความ) ของการก่อสร้างกรอบ Java มันถูกแบ่งปันกับคุณ รายละเอียดมีดังนี้:
SSM (Spring+SpringMVC+MyBatis) ปัจจุบันเป็นโซลูชันสถาปัตยกรรมระดับองค์กรที่ค่อนข้างสำคัญ โมเดลการออกแบบ MVC มาตรฐานแบ่งทั้งระบบออกเป็นสี่เลเยอร์: เลเยอร์แสดงผล, เลเยอร์คอนโทรลเลอร์, เลเยอร์บริการและเลเยอร์ DAO SpringMVC ใช้เพื่อรับผิดชอบในการส่งต่อการร้องขอและการจัดการการดูสปริงใช้การจัดการวัตถุทางธุรกิจและ MyBatis ใช้เป็นเครื่องมือการคงอยู่ของวัตถุข้อมูล
รายละเอียดเฟรม
ฤดูใบไม้ผลิเป็นกรอบการพัฒนา Java ที่มีน้ำหนักเบาที่สร้างขึ้นเพื่อแก้ปัญหาความซับซ้อนของการพัฒนาแอปพลิเคชันระดับองค์กร วัตถุประสงค์ของสปริงไม่ได้ จำกัด อยู่ที่การพัฒนาฝั่งเซิร์ฟเวอร์ จากความเรียบง่ายความสามารถในการทดสอบและมุมมองการมีเพศสัมพันธ์แบบหลวมแอปพลิเคชัน Java ใด ๆ จะได้รับประโยชน์จากฤดูใบไม้ผลิ พูดง่ายๆคือสปริงคือการผกผันที่มีน้ำหนักเบาของการควบคุม (IOC) และกรอบคอนเทนเนอร์ที่มุ่งเน้น (AOP)
SpringMVC เป็นผลิตภัณฑ์ที่ตามมาของ SpringFramework โดยแยกบทบาทของคอนโทรลเลอร์วัตถุโมเดลตัวแจกจ่ายและวัตถุตัวจัดการ การแยกนี้ทำให้ง่ายต่อการปรับแต่ง
MyBatis เป็นกรอบการคงอยู่ของจาวา MyBatis จัดเตรียมกรอบการคงอยู่ของเลเยอร์รวมถึงแผนที่ SQL และวัตถุการเข้าถึงข้อมูล (DAO) ซึ่งกำจัดการตั้งค่าด้วยตนเองของรหัส JDBC เกือบทั้งหมดและพารามิเตอร์และการดึงชุดผลลัพธ์ MyBatis ใช้ XML อย่างง่ายหรือคำอธิบายประกอบสำหรับการกำหนดค่าและการแมปดิบเพื่อแมปอินเทอร์เฟซและ Java เพื่อบันทึกในฐานข้อมูล
1. ดาวน์โหลด Eclipse
ดาวน์โหลด http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr
เลือกเวอร์ชันที่คุณต้องการ
2. สร้างโครงการ Maven ใหม่
เลือกไฟล์> ใหม่> โครงการ maven
คุณสามารถดูอินเทอร์เฟซต่อไปนี้ได้
คลิกถัดไปเพื่อดูอินเทอร์เฟซต่อไปนี้ เราเลือก maven-archetype-webapp
คลิกถัดไปเพื่อดู ID กลุ่มคือชื่อแพ็คเกจและ ARTIFACT ID เป็นชื่อโครงการ ที่นี่เราป้อน ID Group = com.cjt, Artifact ID = MyMaven
สุดท้ายคลิกเสร็จสิ้นเพื่อสร้างโครงการให้สำเร็จ
3. การเตรียมการก่อนการดำเนินงาน
หลังจากสร้างโครงการใหม่คุณสามารถเห็นข้อผิดพลาดซึ่งเกิดจากเส้นทางการสร้างและความล้มเหลวในการแนะนำแพ็คเกจ Javaee
1) ตั้งค่าเส้นทางการสร้าง
คลิกขวาที่โครงการ> Build Path-> กำหนดค่าเส้นทางการสร้าง ...
จากนั้นเลือกไลบรารี
Maven เลือกไลบรารีตามค่าเริ่มต้น นี่เป็นสิ่งที่ผิด มาคลิกสองครั้งที่จะแก้ไข
ในอินเทอร์เฟซต่อไปนี้เราเลือก JRE หรือ JRE เริ่มต้นเวิร์กสเปซ ที่นี่เราเลือก JRE ทางเลือก
2) แนะนำแพ็คเกจ Javaee
แนะนำแพ็คเกจ javaee บน pom.xml
<!-นำเข้าแพ็คเกจ java ee jar-> <การพึ่งพา> <roupId> Javax </groupId> <ratifactid> javaee-api </artifactid> <version> 7.0 </version>
4. การตั้งค่าไฟล์การกำหนดค่าโครงการ
1) ตั้งค่า pom.xml
ตอนนี้เราตั้งค่า pom.xml และดาวน์โหลดแพ็คเกจ 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/maven-v4_0_0.xsd "> <moderVersion> 4.0.0 </modelversion> <roupid> com.cjt </groupid> Webapp </name> <url> http://maven.apache.org </url> <properties> <!-หมายเลขเวอร์ชันสปริง-> <pring.version> 4.0.2.release </spring.version> <! <lf4j.version> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </properties> <pendencies> <predency> <roupid> junit </groupid> แพ็คเกจ Java EE JAR-> <การพึ่งพา> <roupId> Javax </groupId> <ratifactid> javaee-api </artifactid> <persion> 7.0 </version> </dependency> <! <cerson> $ {spring.version} </version> </การพึ่งพา> <การพึ่งพา> <loupId> org.springframework </groupId> <ratifactid> Spring-Web </artifactId> <Spring.spring.spring <ArtIfactId> Spring-Oxm </artifactId> <persion> $ {Spring.version} </เวอร์ชัน> </การพึ่งพา> <การพึ่งพา> <roupId> org.springframework </groupId> <ArtIfactId> Spring-tx </artifactid> <RoupID> org.springframework </groupId> <ratifactId> Spring-Jdbc </artifactid> <sersion> $ {spring.version} </version> </dependency> </permentency> <การพึ่งพา> <roupId> org.springframework </groupId> <ratifactid> Spring-Aop </artifactid> <persion> $ {Spring.Version} </Servive> </predency> <cerson> $ {spring.version} </version> </การพึ่งพา> <การพึ่งพา> <roupId> org.springframework </groupId> <ratifactid> การทดสอบฤดูใบไม้ผลิ </artifactid> <cerson> $ {Spring.version} </รุ่น> </การพึ่งพา> <! <ArtIfactId> myBatis </artifactId> <persion> $ {mybatis.version} </เวอร์ชัน> </การพึ่งพา> <!-แพ็คเกจ mybatis/ฤดูใบไม้ผลิ-> <การพึ่งพา แพ็คเกจ JAR EE-> <การพึ่งพา> <roupId> Javax </groupId> <ratifactId> javaee-Api </artifactid> <persion> 7.0 </Servive> </predency> <! <Sersion> 5.1.30 </Sident> </derctency> <!-นำเข้าแพ็คเกจ JAR ของ DBCP เพื่อกำหนดค่าฐานข้อมูลใน ApplicationContext.xml-> <predency> <sdependency> <roupId> jstl </groupId> <ratifactId> jstl </artifactid> <sersion> 1.2 </เวอร์ชัน> </การพึ่งพา> <!-แพ็คเกจการจัดการไฟล์บันทึก-> <! วัตถุเพื่ออำนวยความสะดวกในการบันทึก-> <การพึ่งพา> <loupId> com.alibaba </groupId> <ratifactId> fastjson </artifactid> <cersion> 1.1.41 </version> </การพึ่งพา> <การพึ่งพา> <Sersion> $ {SLF4J.Version} </Sident> </การพึ่งพา> <การพึ่งพา> <roupId> org.slf4j </groupId> <ratifactid> slf4j-log4j12 </artifactid> <cersion> $ {slf4j.version} </รุ่น <RoupID> org.codehaus.jackson </groupId> <ratifactid> Jackson-Mapper-Asl </artifactid> <version> 1.9.13 </version> </การพึ่งพาอาศัย> <!-อัปโหลดแพ็คเกจส่วนประกอบ-> <pendency> </perctency> <predency> <roupId> Commons-io </groupId> <ratifactId> Commons-io </artifactid> <version> 2.4 </เวอร์ชัน> </การพึ่งพา> <การพึ่งพา> <roupId> Commons-Codec </groupId> <ratifactid> <TinalName> TestMaven01 </minMname> </uffer> </project>2) สร้าง jdbc.properties
driver = com.mysql.jdbc.driverurl = jdbc: mysql: // localhost: 3306/testusername = rootpassword =#define หมายเลขการเชื่อมต่อเริ่มต้นค่าเริ่มต้น = 1#กำหนดหมายเลขการเชื่อมต่อสูงสุด = 20#
3) log4j.properties
### ตั้งค่าระดับบันทึก #### log4j.rootlogger = debug, stdout, d, elog4j.rootlogger = debug, stdout, d ### เอาต์พุตไปยังคอนโซล ### log4j.appender.stdout = org.apache.log4j.consoleap System.outlog4j.appender.stdout.layout = org.apache.log4j.patternlayout#log4j.appender.stdout.layout.conversionPattern = %d {Absolute} %5p %c {1}: %l - %m %-d {yyyy-mm-dd hh: mm: ss} [%c]-[%p]%m%n ### เอาท์พุทไปยังไฟล์บันทึก ### log4j.appender.d = org.apache.log4j.dailyrolling $ {springmvc.root} /web-inf/logs/log.loglog4j.appender.d.append = truelog4j.appender.d.threshold = debug log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.appender %-d {yyyy-mm-dd hh: mm: ss} [ %t: %r]-[ %p] %m %n ### บันทึกข้อมูลข้อยกเว้นเพื่อแยกไฟล์ ### log4j.appender.d = org.apache.log4j.dailyrollingfilependerlog4j.appender $ {springmvc.root} /web-inf/logs/error.log log4j.appender.d.append = truelog4j.appender.d.threshold = ข้อผิดพลาด log4j.appender.d.layout = org.apache.log4j.patternlayoutlog4j.appender HH: MM: SS} [ %t: %r] - [ %p] %m %n4) Spring-mvc.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/mvc" xsi: schemalocation = "http:/ http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! <บริบท: Component-Scan base-package = "com.cjt.controller"/> <!-หลีกเลี่ยงการดาวน์โหลดไฟล์เมื่อ IE ดำเนินการ ajax และกลับไปที่ json-> <bean id = "mappingjacksonhttpmessageConverter" </property> </ebean> <!-เริ่มฟังก์ชั่นคำอธิบายประกอบ SpringMVC เพื่อทำแผนที่การร้องขอและคำอธิบายประกอบ pojos-> <bean> <property name = "MessageConverters"> <list> <ref bean = "mapingjacksonhttpmessageConverter"/> <ref! ของไฟล์ที่กระโดดข้ามการกำหนดค่าโหมดดู-> <bean> <!-ความเข้าใจของฉันเกี่ยวกับการกำหนดค่าที่นี่คือการนำหน้าโดยอัตโนมัติและคำต่อท้ายสตริงที่ส่งคืนโดยวิธีการของการกระทำที่ตามมาจะกลายเป็นที่อยู่ URL ที่มีอยู่-> <property name = "คำนำหน้า" ค่า = "/bean> หากคุณไม่ใช้การอัปโหลดไฟล์คุณไม่จำเป็นต้องกำหนดค่า แน่นอนถ้าคุณไม่ตรงกันคุณไม่จำเป็นต้องแนะนำแพ็คเกจการอัปโหลดคอมโพเนนต์ในไฟล์การกำหนดค่า-> <bean id = "MultipartResolver"> <!-การเข้ารหัสเริ่มต้น-> <property name = "defaultEncoding" value = "UTF-8" /> <! -> <property name = "MaxinMemorySize" value = "40960"/> </ebean> </ebeans>
5) Spring-mybatis.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/mvc" xsi: schemalocation = "http:/ http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <! -> <bean id = "PropertyConfigurer"> <property name = "location" value = "classpath: jdbc.properties" /> </epean> <bean id = "dataSource" destroy-method = "close"> <property name = "driverclassName" value = "$ {driver}" /> value = "$ {username}" /> <property name = "รหัสผ่าน" value = "$ {รหัสผ่าน}" /> <!-เริ่มต้นขนาดการเชื่อมต่อ-> <property name = "ค่าเริ่มต้น" value = "$ {ค่าเริ่มต้น}"> < /คุณสมบัติ> <! <property name = "MaxIdle" value = "$ {maxidle}"> </property> <!-พูลการเชื่อมต่อขั้นต่ำสุด-> <property name = "minidle" value = "$ {minidle}"> </property> <! และ mybatis ไม่มีไฟล์การแมปการกำหนดค่า mybatis-> <bean id = "sqlsessionfactory"> <property name = "dataSource" ref = "dataSource"/> <! <!-ชื่อแพ็คเกจที่อินเทอร์เฟซ DAO ตั้งอยู่สปริงจะค้นหาคลาสภายใต้มันโดยอัตโนมัติ-> <bean> <property name = "basepackage" value = "com.cjt.dao"/> <property name = "SQLSessionFactoryBeanName" สำหรับการจัดการ -> <bean id = "transactionManager"> <property name = "dataSource" ref = "dataSource"/> </ebean> </ebeans>ไฟล์ทั้งหมดข้างต้นถูกสร้างขึ้นในโฟลเดอร์ทรัพยากร
5. สร้างรหัสฐานข้อมูลโดยอัตโนมัติ
1) สร้างตารางใหม่
ก่อนอื่นเราสร้างตารางใหม่ user_t และฟิลด์มีดังนี้:
2) แพ็คเกจดาวน์โหลด
แพ็คเกจดาวน์โหลดรวมถึง: mybatis-3.2.6.jar , mybatis-generator-core-1.3.3.jar, mysql-connector-java-5.1.39-bin.jar.
3) เรียกใช้ - สร้างรหัสโดยอัตโนมัติ
สร้างโฟลเดอร์ใหม่รวมถึงไฟล์ต่อไปนี้
GeneratorConfig.xml เป็นไฟล์ XML ที่สร้างรหัสและเนื้อหามีดังนี้:
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <! DOCTYPE GENERATORATONCONTURAUNT POVER "-// MyBatis.org//dtd MyBatis Generation 1.0 // en" "http://mybatis.org/dtd/MyBatis <!-ไดรเวอร์ฐานข้อมูล-> <classpathentry location = "mysql-connector-java-5.1.39-bin.jar"/> <context id = "db2tables" targetRuntime = "myBatis3"> <ความคิดเห็น name = "suppressallComments" value = "true"/> </commentGenerator> <!-URL ลิงก์ฐานข้อมูลชื่อผู้ใช้รหัสผ่าน-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" connectionurl = "jdbc: mysql: // localhost: 3306 <javatyperesolver> <property name = "forceBigDecimals" value = "false"/> </javatyperesolver> <!-สร้างชื่อแพ็คเกจและตำแหน่งของโมเดล-> <javamodelgenerator TargetPackage = "com.cjt.domain name = "trimstrings" value = "true"/> </javamodelgenerator> <!-สร้างชื่อแพ็คเกจและตำแหน่งของไฟล์การแมป-> <sqlmapgenerator targetPackage = "com.cjt.mapping" targetProject = "SRC"> ตำแหน่งของ dao-> <javaclientgenerator type = "xmlmapper" targetPackage = "com.cjt.dao" targetProject = "src"> <property name = "enablesubpackages" value = "true"/> </javaclientGenerator> <! -> <table tablename = "user_t" domainObjectName = "ผู้ใช้" enableCountByExample = "false" enableUpDateByExample = "false" enableteByExample = "false" eNablesElectByExample = "false" selectByexampleDever = "false"
จากนั้นเราใช้คำสั่ง cmd เพื่อป้อนโฟลเดอร์ที่สร้างขึ้นใหม่และป้อน:
java -jar mybatis -generator -core -1.3.3.jar -configfile generatoronconfig.xml -overwrite
ในที่สุดรหัสถูกสร้างขึ้น
หมายเหตุ: รหัสถูกสร้างขึ้นโดยอัตโนมัติที่นี่ผ่านบรรทัดคำสั่งและผู้อ่านยังสามารถสร้างผ่านปลั๊กอิน Eclipse
6. รหัสเริ่มต้น
สร้างแพ็คเกจใหม่ดังต่อไปนี้: (ลูกศรถูกสร้างขึ้นโดยอัตโนมัติรหัสด้านบน)
iuserservice.java
อินเทอร์เฟซสาธารณะ iuserService {ผู้ใช้สาธารณะ getUserById (ID int); -userserviceimpl.java
@ServicePublic คลาส UserserViceImpl ใช้ iUserService {@autowired ส่วนตัว iuserdao Userdao; Public UserserViceImpl () {System.out.println ("UserserViceImpl"); } ผู้ใช้สาธารณะ getUserById (ID int) {return userdao.selectByPrimaryKey (ID); -usercontroller.java
@controller@requestmapping ("/user") คลาสสาธารณะ userController {public userController () {system.out.println ("userController"); } @Resource ส่วนตัว IUSERSERVICE USERSERVICE; @requestmapping ("/showuser") สตริงสาธารณะ toindex (คำขอ httpservletrequest, โมเดลโมเดล) {system.out.println ("usercontroller showuser"); int id = integer.parseint (request.getParameter ("id")); ผู้ใช้ user = userservice.getUserById (ID); model.addattribute ("ผู้ใช้" ผู้ใช้); กลับ "Showuser"; -สร้างไดเรกทอรีใหม่ JSP ภายใต้ web-inf และสร้างไฟล์ showuser.jsp ใหม่ด้านล่าง
showuser.jsp
<%@ page language = "java" contentType = "ข้อความ/html; charset = utf-8" pageencoding = "utf-8" import = "java.util.*, com.cjt.domain.*"%> <! "http://www.w3.org/tr/html4/loose.dtd"><html> <head> <meta http-equiv =" content-type "เนื้อหา =" ข้อความ/html; charset = utf-8 " $ {user.username} </body> </html>สุดท้ายแนบ web.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_0. แอปพลิเคชันเว็บที่สร้างขึ้น </display-name> <!-ไฟล์การกำหนดค่า Spring และ MyBatis-> <context-Param> <param-Name> ContextConfigLocation </param-name> <param-value> classpath: spring-mybatis.xml </param-value> <Tilter-class> org.springframework.web.filter.characterencodingFilter </filter-lass> <sync-upported> True </async-upported> <init-Param> <param-name> การเข้ารหัส </param-name> <side-name> encodingFilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-ผู้ฟังฤดูใบไม้ผลิ-> <Sistener-Class> org.springframework.web.context.context.context.context.context.context.context.context.context.context.context.context.context.context.context <Sistener-class> org.springframework.web.util.introspectorCleanupListener </listener-class> </listener> <!-Spring MVC Servlet-> <servlet> <int-Param> <param-Name> contextConfigLocation </param-name> <param-value> classpath: Spring-Mvc.xml </param-value> </init-param> <load-on-startup> 1 </load-on-startup> <sync-supported> <servlet-name> springmvc </servlet-name> <!-ที่นี่คุณสามารถกำหนดค่า *.do ซึ่งสอดคล้องกับนิสัยการต่อท้ายของ struts-> <url-pattern>/</url-pattern>
ด้านบนการสร้างรหัสเสร็จสมบูรณ์
สามารถดาวน์โหลดโครงการได้: https://github.com/cjt321/mavenspirngmvcmybatis
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น