مقدمة موجزة للوحدات الرئيسية السبع لإطار الربيع
شرح مفصل لرمز وحدة MVC في الربيع
توفر وحدة ORM الدعم لأطر ORM مثل Hibernate و JDO و TopLinkibatis ، إلخ.
تعتمد وحدات ORM على DOM4J.JAR و Antlr.Jar وحزم أخرى
في فصل الربيع ، يجب تسليم موارد السبات إلى إدارة الربيع ، و Hibernate و SessionFactory وغيرها من المعرفة الربيع هو فاصوليا خاصة ، والربيع مسؤول عن التثبيت والدمار. لذلك ، لا تحتاج طبقة DAO إلا إلى أن ترث سباتيوسووس ، ولا تحتاج إلى التعامل مع واجهة برمجة التطبيقات الخاصة بـ Hibernate ، ولا تحتاج إلى تشغيل أو إيقاف جلسة ومعاملة السبات. سيحافظ الربيع تلقائيًا على هذه الكائنات
الواجهة العامة icatdao {public void createCat (cat cat) ؛ القائمة العامة <cat> listCats () ؛ العام int getCatscount () ؛ Public Cat FindCatbyName (اسم السلسلة) ؛ } استيراد org.springframework.orm.hibernate3.support.hibernatedaosupport ؛ الطبقة العامة catdaoimpl يمتد heibernatedaosupportimptimements icatdao {public void createCat (cat) {this.gethibernateTemplate (). prosist (cat) ؛ } القائمة العامة <cat> listcats () {return this. gethibernatetemplate (). } public int getCatscount () {number n = (number) this.getSession (true) .createquery ("selectCount (c) from cat c"). refectult () ؛ العودة n.intvalue () ؛ } public cat findCatbyName (اسم السلسلة) {list <cat> catlist = this.gethibernatetemplate (). if (catlist.size ()> 0) return catlist.get (0) ؛ العودة لاغية. }}<bean id = "sessagefactory" تدمير method = "destroy"> <property name = "datasource" ref = "datasource"/> <!-سيتم تحميل جميع الفئات تحت هذه الحزمة كطبقات كيان-> <property name = "ennotatedpackages" value = "classpath:/clf/orm"/> <property name = <Value> com.clf.spring.orm.cat </value> <value> com.clf.spring.orm.dog </value> </list> <property name = "hibernateProperties"> <borps> <props> key = "hibernate.show_sql"> true </prop> <prop key = "hibernate.format_sql"> true </prop> <prop key = "hibernate.hbm2ddl.auto"> إنشاء </props> </props> </propert
إذا كنت تستخدم فئة كيان تم تكوينها باستخدام XML ، فقم بتغييرها إلى
<bean id = "sessionfactory" تدمير method = "destroy"> <property name = "MapPingResources"> <list> <value> classpath: /com/clf/orm/cat.hbm.xml </value> </list> </sprental> ... </bean>
يضيف Spring المعاملات في طبقة DAO افتراضيًا ، وكل طريقة من طبقة DAO هي معاملة واحدة. في برمجة Spring+Hibernate ، تتمثل الممارسة المعتادة في إضافة طبقة خدمة إلى طبقة DAO ، ثم تكوين المعاملات إلى طبقة الخدمة.
الواجهة العامة icatservice {public void createCat (cat cat) ؛ القائمة العامة <cat> listCats () ؛ العام int getCatscount () ؛ }النهج الهرمي هو أن البرنامج يستدعي طبقة الخدمة ، وطبقة الخدمة تستدعي طبقة DAO ، وتستدعي طبقة DAO السبات لتحقيق الوصول إلى البيانات. من حيث المبدأ ، لا يُسمح بالوصول عبر الحدود. الطبقات تجعل التسلسل الهرمي للأعمال أكثر وضوحًا
الطبقة العامة CatServiceImpl تنفذ icatservice {private idao catdao ؛ Public Idao getCatdao () {return catdao ؛ } public void setcatdao (idao dao) {this.catdao = dao ؛ } public void createCat (cat cat) {catdao.createcat (cat) ؛ } القائمة العامة <cat> listCats () {return catdao.listcats () ؛ } public int getCatscount () {return catdao.getCatscount () ؛ }}ثم تكوين إدارة المعاملات على مستوى الخدمة
<!-مدير المعاملات-> <bean id = "hibernatetransactionmanager"> <property name = "sessionfactory" ref = "sessionfactory"/> </bean> <!-قواعد إدارة المعاملات-> <bean id = "hibernatetransactactionattributesource"> <property name = "properties <PropKeyPropKey = "*"> propigation_required </prop> </property> </boan> <!-فئة وكيل المصنع للمعاملات ، تجميع فئة تنفيذ الخدمة ، مدير المعاملات ، وقواعد إدارة المعاملات-> <bean id = "catservice"> <property name = "TransactactionManager" ref = "hibernatetransactionmanager"> ref = "catdao"/> </bean> </property> <property name = "TransactionAttributesource" ref = "hibernatetransactactionattributesource"/> </bean>
لخص
ما سبق هو كل التفسير التفصيلي لرمز وحدة ORM الربيعي. أتمنى أن تتمكن من المساعدة. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!