تقدم هذه المقالة طريقة Maven لبناء أول جافا الخلفية. تتم مشاركتها معك. التفاصيل كما يلي:
1. المعرفة مرة أخرى
لقد شرحت بالتفصيل في العدد الأخير من كيفية استخدام Maven لإنشاء مشروعك الأول. الرابط السابق هو ؛ اليوم سأستخدم أطر SPRINGMVC و MYBATIS لبناء خلفية Java الخاصة بك.
2. الاستعدادات اللازمة
فكرة intellij ، بيئة Maven مبنية بشكل جيد
② مع MyBatis و SpringMVC وغيرها من الأطر
③ إنشاء قاعدة بيانات MySQL
3. تخطيط العمارة العامة
4. خطوات محددة
① تكوين حزمة الجرة لاستخدامها في pom.xml
<؟ راجع ملف الإشعار الموزع بهذا العمل للحصول على معلومات إضافية تتعلق بملكية حقوق الطبع والنشر. يرخص ASF هذا الملف لك بموجب ترخيص Apache ، الإصدار 2.0 ("الترخيص") ؛ لا يجوز لك استخدام هذا الملف إلا في الامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على الموقع http://www.apache.org/licenses/license-2.0 ما لم يكن مطلوبًا بموجب القانون المعمول به أو الموافقة على الكتابة ، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي" ، دون ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية. راجع ترخيص الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص. xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" <Domodversion> 4.0.0 </modelversion> <cplaging> WAR </packaging> <name> yakei </mame> <broupId> com.yakei </rougeid> <terfactid> yakei </shinitid> <spergant> 1-snapshot </version> <ependencies> <!- <rouckid> Junit </rougeid> <StifactId> Junit </shintifactid> <splection> 4.11 </version> <scope> اختبار </scope> </sependency> <!-تبعيات المشروع الكاملة-> <!-1. سجلات سجل Java تشمل: SLF4J ، Log4J ، تسجيل الدخول ، التسجيل المشترك SLF4J: هل تطبيق سجل المواصفات/الواجهة: LOG4J ، LOGBACK ، LOGLAGNING USE: SLF4J+LOGBABE </reperency> <reperency> <roupiD> ch.qos.logback </rougiD> <intifactid> مسجلة التسجيل </artifactId> <الإصدار> 1.1.1 </version> </remberency> <!-تنفيذ واجهة slf4j و integrate-> <reperence> <splection> 1.1.1 </version> </reperency> <!-1. التبعيات المتعلقة بقواعد البيانات-> <redence> <roupiD> mysql </rougeid> <StifactId> mysql-connector-java </senfactid> <sophy> 5.1.36 </version> <scope> وقت التشغيل </scope> <soph> 0.9.1.1 </version> </reperency> <!-2.Dao Framework: MyBatis Dependency-> <Rependency> <roupiD> org.mybatis </rougeid> <StifactId> mybatis </shintifactid> <sored> <roupl> org.mybatis </rougiD> <StifactId> mybatis-spring </stifactid> <الإصدار> 1.2.3 </version> <sperence> <!-3.Servlet Terkialies </splex> </repomency </repomency> </reperency> taglibs </groupid> <tervactid> <ProupId> jStl </rougiD> <StifactId> jStl </stifactId> <الإصدار> 1.2 </version> </semperency> <redenced> <roupiD> com.fasterxml.jackson.core </rougiD> <StifactId> jackson-databind </artifactid> <roupiD> javax.servlet </rougiD> <StifactId> javax.servlet-api </stifactid> <الإصدار> 3.1.0 </الإصدار> </repreadency> <!-4: تبعيات الربيع-> <!-1) تبعيات الربيع الأساسية-> <sependency> <soph> 4.1.7.release </version> </sependency> <redence> <roupiD> org.springframework </rougeid> <StifactId> spring-beans </artifactId> <sperive> 4.1.7.Release </version> <StifactId> spring-context </intifactid> <الإصدار> 4.1.7.Release </version> </dependency> <!-2) تبعيات طبقة الربيع dao-> <rependency> <Rependency> <roupEd> org.springframework </rougiD> <StifactId> Spring-Tx </shintifactid> <sophy> 4.1.7.Release </version> </repreadency> <!-3) تبعات springweb- <soph> 4.1.7.Release </version> </sependency> <reperency> <roupiD> org.springframework </rougeid> <StifactId> spring-webmvc </shintifactid> <sperive> 4.1.7. <roupl> org.springframework </rougiD> <StifactId> اختبار الربيع </artifactid> <الإصدار> 4.1.7.Release </version> </sependency> </تبعية> </project>ويغطي سلسلة من حزم الجرة مثل Spring و MyBatis ، وما إلى ذلك. هذه العملية تشبه Android إضافة تبعيات الطرف الثالث إلى Build.gradle ، والمبادئ متسقة.
2. قم بإنشاء دليلين في دليل الموارد: Mapper ، الربيع
Mapper: Mapper هو رسم خرائط لإطار MyBatis ، ووظائفه هي استخدام ملف التعيين في طبقة DAO ؛ هنا قمت بإنشاء خريطة user.xml:
يجب الانتباه إلى الجزء الأحمر. الجزء العلوي هو المسار لتعيين طبقة DAO ، والثاني هو نوع كائن الإرجاع. سأقوم بنشر الرمز هنا:
<! doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace =" com.dajiu.dao.userda " هذا هو ، اكتب عبارات SQL الخاصة بنا للطرق في واجهة DAO-> <SELECT ID = "getall" resultType = "com.dajiu.bean.user"
الربيع: قم بتحميل ملف تكوين الربيع بشكل أساسي
1.Spring-dao.xml
شفرة البريد:
<؟ xmlns: context = "http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--Configuration integration mybatis process 1. Configure database-related parameters --> <context:property-placeholder الموقع = "classpath: jdbc.properties"/> <!-2. تجمع اتصال قاعدة البيانات-> <bean id = "dataSource"> <!-تكوين خصائص تجمعات الاتصال-> <property name = "driverclass" value = "$ {driver}" /> <!-url properties url ، user ، password-> <property name = "jdbcurl" value = $ {url} " /> name = "password" value = "$ {password}"/> <!-c3p0 الخاص خاصية-> <property name = "maxpoolsize" value = "30"/> <property name = "minpoolsize" value = "10"/> <! name = "checkouttimeout" value = "10000"/> <!-عدد إعادة المحاولة عندما يفشل الاتصال-> <property name = "quiveretryattempts" value = "2"/> </bean> <!-الاتفاقية أكبر من التكوين-> <!- -> <!-حقن تجمع اتصال قاعدة البيانات-> <property name = "datasource" ref = "datasource"/> <!-تكوين ملف التكوين العالمي myBatis: mybatis-config.xml-> <property name = "configlocation" value = "classpath: mybatis-config.xml"/ منفصل-> <property name = "typealiasespackage" value = "com.dajiu.bean"/> <!-مسح ملف تكوين SQL: ملف XML المطلوب بواسطة MapPer-> <propert Container-> <bean> <!-حقن sqlsessionfactory-> <property name = "sqlsessionfactorybeanname" value = "sqlsessionfactory"/> <!-إعطاء واجهة DAO ليتم فحصها-> <property name = "basepackage" value =أماكن للانتباه إلى:
الاتصال بقاعدة البيانات:
تكوين فئة MyBatis-Config و Bean Global
تكوين DAO
2.SPRING-SERVICE.XML
شفرة البريد:
<؟ xmlns: context = "http://www.springframework.org/schema/context" xmlns: tx = "http://www.springframework.org/schema/tx http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-sx.xsd "> <!- مدير المعاملات-> <bean id = "TransactactionManager"> <!-حقن تجمع قاعدة بيانات قاعدة البيانات-> <property name = "datasource" ref = "dataSource"/> </bean> <bean id = "date" المعاملة-ماناجير = "TransactionManager"/> </bans>
انتبه إلى المنطقة المحلية:
تكوين الخدمة
3.SPRING-WEB.XML
شفرة البريد:
<؟ xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" XSI: Schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/sctxt http://www.springframework.org/schema/context/spring-context.xsd MVC-> <!-1 ، تمكين وضع شرح SPRINGMVC أ. قم بتسجيل DefaultAnnotationHandLermapping تلقائيًا ، EnoTationMethodhandlerAdAdapter ب. افتراضيًا ، يتم توفير سلسلة من الوظائف: ربط البيانات ، تنسيق الأرقام والتواريخ@numberFormat ،@DateTimeFormat C: XML ، JSON الافتراضي للقراءة والكتابة-> <MVC: تعويذة/> <!-2. تكوين Servlet الافتراضي للموارد الثابتة-> <!-1). تمت إضافة موارد ثابتة: JS ، GIF ، PNG 2). السماح "/" بالقيام بالتعيين بشكل عام-> <mvc: معالج الخدمات الافتراضي/> <!-3: تكوين JSP لعرض ViewResolver-> <boan> <property name = "viewClass" value = "org.springframework.web.servlet.view.jstlview"/> <property tame = "value"/"prespix/" web-in ". value = ". mapping = "/**/*.
انتبه إلى المنطقة المحلية:
تكوين وحدة التحكم
5. التنفيذ المنطقي (أخذ المستخدم كمثال)
first تحديد فئة المستخدم في الفول
حزمة com.dajiu.bean ؛/*** تم إنشاؤها بواسطة Zhangxing في 2017/4/7. */مستخدم الفئة العامة {private int id ؛ اسم السلسلة الخاصة ؛ كلمة مرور السلسلة الخاصة ؛ public int getId () {return id ؛ } public void setId (int id) {this.id = id ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } السلسلة العامة getPassword () {return password ؛ } public void setPassword (سلسلة كلمة مرور) {this.password = password ؛ }}② ثم حدد واجهة userDao في DAO
package com.dajiu.dao ؛ استيراد com.dajiu.bean.user ؛ استيراد org.apache.ibatis.annotations.param ؛ استيراد org.springframework.stereotype.repository ؛ استيراد java.util.list ؛/*** تم إنشاؤه بواسطة zhangxing في 2017/4/7. */@ropositorypublic interface userDao {list <Ser> getAll () ؛ المستخدم getLogin (param ("name") اسم السلسلة ، param ("password") سلسلة كلمة المرور) ؛}رسم خرائط DAO في user.xml
next لإعلان الواجهة في الخدمة
حزمة com.dajiu.service ؛ استيراد com.dajiu.bean.user ؛ استيراد java.util.list ؛/*** تم إنشاؤه بواسطة Zhangxing في 2017/4/7. */الواجهة العامة sterveservice {list <Ser> getAll () ؛ مستخدم getLogin (اسم السلسلة ، كلمة مرور السلسلة) ؛}④ ثم قم بتنفيذ منطق الواجهة في الخدمة.
حزمة com.dajiu.service.impl ؛ استيراد com.dajiu.bean.user ؛ استيراد com.dajiu.dao.userdao ؛ استيراد com.dajiu.service.userservice java.util.list ؛/*** تم إنشاؤه بواسطة Zhangxing في 2017/4/7. */ @service ("uservervice") فئة عامة orseverserviceImpl تنفذ المستخدمين {AUTowired userDao userDao ؛ القائمة العامة <Sether> getAll () {return userDao.getAll () ؛ } المستخدم العام getLogin (اسم السلسلة ، كلمة مرور السلسلة) {return userDao.getLogin (الاسم ، كلمة المرور) ؛ }}Autowired هنا يعادل إنشاء مثيل جديد
⑤ من منطق استدعاء خلفية حقيقية في وحدة التحكم
حزمة com.dajiu.controller ؛ استيراد com.dajiu.bean.user ؛ استيراد com.dajiu.service.userservice ؛ استيراد org.springframework.beans.factory.annotation.autowired org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.responsebody ؛ استيراد java.util.hashmap ؛ استيراد java.util.list ؛ java.util.map ؛ */@controller@requestmapping ("/blog") فئة عامة USERCONTROLLER requestMapping ("/getUser") responseBody Map <String ، Object> getUser () {map map = new hashmap () ؛ قائمة <Sether> list = userservice.getAll () ؛ map.put ("المستخدم" ، قائمة) ؛ map.put ("الحالة" ، 1) ؛ map.put ("النجاح" ، صحيح) ؛ خريطة العودة } @requestmapping ("getLogin") @responsebody الخريطة العامة <string ، object> getLogin (اسم السلسلة ، كلمة مرور السلسلة) {map map = new hashmap () ؛ مستخدم المستخدم = userservice.getLogin (الاسم ، كلمة المرور) ؛ map.put ("المستخدم" ، المستخدم) ؛ map.put ("Islogin" ، صحيح) ؛ map.put ("الحالة" ، 1) ؛ خريطة العودة }}هنا @REquestMapping ("") يمثل مسار التعيين الذي تم الوصول إليه ، ويمثل ResponseBody نتيجة الطلب المطبوعة بتنسيق بيانات JSON ، ويمثل Controller أنه طالما تم الوصول إلى مسار رسم الخرائط أعلاه ، سيتم استدعاء وحدة التحكم مباشرة ؛
الآن ، دعنا نساعدك على فهم أفكارك: أولاً طلب USERCONTROLLER ---> UsperService ----> userviceRviceImpl ----> userDao ---> user.xml (mapper) ----> Bean (user)
6. تكوين خادم Tomcat
① انقر على زر المثلث الأخضر في الزاوية اليمنى العليا وانقر فوق تحرير التكوين
② قم بربط علامة + وحدد tomcat
③ حدد محليًا
④ في التكوين ذي الصلة
⑤ انتشار انتشار ، انقر فوق علامة + ، وحدد قطعة أثرية
ثم اختر العنصر الأول واستمر في الدخول
وبهذه الطريقة ، سيتم إكمال مشروعك بالكامل ، والخطوة التالية هي الزيارة
حسنًا ، لقد انتهى شرح SpringMVC و MyBatis Building اليوم.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.