亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

springmvc筆記(來自慕課網)

2019-11-14 15:36:56
字體:
來源:轉載
供稿:網友

1.準備工作:sPRingmvc相關的jar包.

2.這里我們先用eclipse來操作.

首先看一個接口編程,后面的所有知識點都是通過這個接口編程引出的.

OneInterface.java

1 package gys;2 3 public interface OneInterface {4     String hello(String world);5 }

OneInterfaceImpl.java

 1 package gys; 2  3 public class OneInterfaceImpl implements OneInterface{ 4  5     @Override 6     public String hello(String world) { 7         return "從接口返回的是:"+world; 8     } 9     10 }

Run.java

package gys;public class Run{            public static void main(String[] args) {        OneInterface oif=new OneInterfaceImpl();        System.out.println(oif.hello("思思博士"));    }    }

這個地方可以通過接口的形式跑起來了.

下面看看使用springmc方式如何來跑起來這個項目

因為我們不是web項目,沒有通過配置web.xml來配置,讀取springmvc配置文件.

只能手寫讀取配置文件.

getBeanBase.java

 1 package gys; 2  3 import org.springframework.context.support.ClassPathXmlapplicationContext; 4 //創建springmvc容器,獲取配置文件中的bean. 5 public class GetBeanBase { 6     private ClassPathXmlApplicationContext context; 7     private String springXmlpath; 8     public GetBeanBase(){}; 9     10     public GetBeanBase(String springXmlPath){11         this.springXmlpath=springXmlPath;12     }13     14     public void start(){15         if(springXmlpath.equals("")||springXmlpath==null||springXmlpath.isEmpty()){16             springXmlpath="classpath*:spring-*.xml";17         }18         try {19             //創建spring容器20             context=new ClassPathXmlApplicationContext(springXmlpath.split("[,//s]+"));21             context.start();22         } catch (Exception e) {23             e.printStackTrace();24         }25     }26     27     public void end(){28         context.destroy();29     }30     31     @SuppressWarnings("unchecked")32     protected <T extends Object> T getBen(String beanId){33         return (T) context.getBean(beanId);34     }35 36     protected <T extends Object> T GetBeanBase(Class<T> clazz){37         return context.getBean(clazz);38     }39 }

spring-ioc.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" 3     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" 4     xsi:schemaLocation="   5         http://www.springframework.org/schema/beans  6         http://www.springframework.org/schema/beans/spring-beans.xsd  7         http://www.springframework.org/schema/context  8         http://www.springframework.org/schema/context/spring-context.xsd  9         http://www.springframework.org/schema/mvc10         http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd        11         http://www.springframework.org/schema/tx12         http://www.springframework.org/schema/tx/spring-tx.xsd13         http://www.springframework.org/schema/aop14         http://www.springframework.org/schema/aop/spring-aop.xsd">15 16         <bean id="oneInterface" class="gys.OneInterfaceImpl"></bean>17 </beans>

Run.java

 1 package gys; 2  3 public class Run extends GetBeanBase{ 4     public Run(){ 5         super("classpath*:spring-ioc.xml"); 6         start(); 7     } 8     public void testHello(){ 9         OneInterface oneInterface=super.getBen("oneInterface");10         System.out.println(oneInterface.hello("傳入的參數"));11         end();12         13     }14     15     public static void main(String[] args) {16         Run run=new Run();17         run.testHello();18     }19     20 }

通過這個方式也是可以做到同樣的輸出.這里的GetBeanBase在后面很多地方使用.

spring注入:在啟動Spring容器加載bean配置的時候,完成對變量的賦值行為
常用的兩種注入方式:
        設置注入
        構造注入

1.設置注入:

InjectionDao.java

package gys.dao;public interface InjectionDAO {    void save(String info);}

InjectionDAOImpl.java

package gys.dao;public class InjectionDAOImpl implements InjectionDAO{    @Override    public void save(String info) {        System.out.println("保存數據:"+info);            }}

InjectionService.java

package gys.service;public interface InjectionService {    public void save(String info);}

InjectionServiceImpl.java

 1 package gys.service; 2  3 import gys.dao.InjectionDAO; 4  5 public class InjectionServiceImpl implements InjectionService{ 6  7     private InjectionDAO injectionDAO; 8              9     //設置注入,這里的set方法spring會自動調用,無需手動調用10     public void setInjectionDAO(InjectionDAO injectionDAO) {11         this.injectionDAO = injectionDAO;12     }13     14     15     @Override16     public void save(String info) {17         System.out.println("service接受參數:"+info);18         info=info+":"+this.hashCode();19         injectionDAO.save(info);20     }21 }

spring-ioc.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" 3     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" 4     xsi:schemaLocation="   5         http://www.springframework.org/schema/beans  6         http://www.springframework.org/schema/beans/spring-beans.xsd  7         http://www.springframework.org/schema/context  8         http://www.springframework.org/schema/context/spring-context.xsd  9         http://www.springframework.org/schema/mvc10         http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd        11         http://www.springframework.org/schema/tx12         http://www.springframework.org/schema/tx/spring-tx.xsd13         http://www.springframework.org/schema/aop14         http://www.springframework.org/schema/aop/spring-aop.xsd">15         16     <!-- 設置注入 -->17     <bean id="injectionService" class="gys.service.InjectionServiceImpl">18     <!--InjectionServiceImpl類中必須有一個屬性name,類型是ref,springmvc會自動調用這個屬性的set方法. -->19         <property name="injectionDAO" ref="injectionDAO"></property>20     </bean>21     22     <bean id="injectionDAO" class="gys.dao.InjectionDAOImpl"></bean>23     24 25         26 </beans>

Run.java

 1 package gys; 2  3 import gys.service.InjectionService; 4 public class Run extends GetBeanBase{ 5     public Run(){ 6         super("classpath*:spring-ioc.xml"); 7         start(); 8     } 9     public void testSetter(){10         InjectionService service=super.getBen("injectionService");11         service.save("這是要保存的數據");12         end();13     }14     public static void main(String[] args) {15         Run run=new Run();16         run.testSetter();17     }18     19 }

2.構造注入:

對上面的代碼做一下改變:

InjectionServiceImpl.java

 1 package gys.service; 2  3 import gys.dao.InjectionDAO; 4  5 public class InjectionServiceImpl implements InjectionService{ 6  7     private InjectionDAO injectionDAO; 8      9     //構造器注入10     public InjectionServiceImpl(InjectionDAO injectionDAO){11         this.injectionDAO=injectionDAO;12     }13     14     @Override15     public void save(String info) {16         System.out.println("service接受參數:"+info);17         info=info+":"+this.hashCode();18         injectionDAO.save(info);19     }20 }

spring-ioc.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" 3     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" 4     xsi:schemaLocation="   5         http://www.springframework.org/schema/beans  6         http://www.springframework.org/schema/beans/spring-beans.xsd  7         http://www.springframework.org/schema/context  8         http://www.springframework.org/schema/context/spring-context.xsd  9         http://www.springframework.org/schema/mvc10         http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd        11         http://www.springframework.org/schema/tx12         http://www.springframework.org/schema/tx/spring-tx.xsd13         http://www.springframework.org/schema/aop14         http://www.springframework.org/schema/aop/spring-aop.xsd">15     16     <!-- 構造注入 -->17     <bean id="injectionService" class="gys.service.InjectionServiceImpl">18     <!--在類InjectionServiceImpl中有一個屬性name,還必須必須有一個構造器,這個構造器的參數是name值   類型是ref -->19         <constructor-arg name="injectionDAO" ref="injectionDAO" />20     </bean>21     22     <bean id="injectionDAO" class="gys.dao.InjectionDAOImpl"></bean>23     24 25         26 </beans>

 

Run.java

 1 package gys; 2  3 import gys.service.InjectionService; 4  5 public class Run extends GetBeanBase{ 6     public Run(){ 7         super("classpath*:spring-ioc.xml"); 8         start(); 9     }10     11     public void testCons(){12         InjectionService service=super.getBen("injectionService");13         service.save("這是要保存的數據");14         end();15     }16     17     public static void main(String[] args) {18         Run run=new Run();        19         run.testCons();20     }21     22 }

下班了,未完待續......

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲理论电影网| 色婷婷综合久久久久| 日韩一区二区精品视频| 久久久999精品| 欧美日韩亚洲视频一区| 成人伊人精品色xxxx视频| 欧美性生活大片免费观看网址| 久久人体大胆视频| 国产91九色视频| 国产精品中文在线| 91精品国产成人www| 亚洲精品视频播放| 欧美日韩国产一中文字不卡| 欧美区在线播放| 亚洲深夜福利视频| 中文字幕亚洲无线码a| 国产成人精品免费久久久久| 91九色蝌蚪国产| 亚洲第一福利网站| 久热精品视频在线免费观看| 国产美女高潮久久白浆| 红桃视频成人在线观看| 亚洲激情视频在线| 国模精品视频一区二区| 欧美日韩国产影院| 国产精品18久久久久久麻辣| 91亚洲永久免费精品| 久久久久久com| 精品欧美国产一区二区三区| 久久免费视频观看| 亚洲a级在线播放观看| 久久久久久久久亚洲| 国产视频亚洲精品| 在线观看欧美成人| 深夜成人在线观看| 欧美超级免费视 在线| 一区二区三区无码高清视频| 久久综合电影一区| 亚洲伊人成综合成人网| 欧美洲成人男女午夜视频| 欧美黄色性视频| 亲子乱一区二区三区电影| 久久久午夜视频| 日韩免费观看av| 欧美激情精品久久久久久大尺度| 在线丨暗呦小u女国产精品| 国产精品自拍视频| 久久精品国产v日韩v亚洲| 亚洲一区第一页| 精品久久久久久电影| 国产精品一区av| 国产成人精品网站| 欧美主播福利视频| 国产精品www网站| 欧美日本高清一区| 久久精品国产96久久久香蕉| 在线播放国产一区中文字幕剧情欧美| 亚洲欧洲美洲在线综合| 日韩av在线免费| 欧美国产日韩在线| 欧美裸体xxxx| 国产成人精品日本亚洲专区61| 国产精品久久久久77777| 在线亚洲午夜片av大片| 国产精品黄色av| 精品视频久久久| 在线日韩中文字幕| 亚洲欧洲av一区二区| 欧美精品手机在线| 国产欧美精品va在线观看| 欧美日韩国产中字| 欧美极品少妇xxxxⅹ免费视频| 欧美激情一区二区三区成人| 68精品国产免费久久久久久婷婷| 亚洲xxxxx| 欧美成人亚洲成人| 91亚洲精品久久久| 亚洲视频电影图片偷拍一区| 国产日韩欧美在线视频观看| 国产精品亚洲片夜色在线| 欧美裸体男粗大视频在线观看| 日韩av在线导航| 91视频九色网站| 日韩视频免费大全中文字幕| 国产欧美亚洲视频| 影音先锋欧美在线资源| 国产精品久久久久久久久久东京| 久久手机免费视频| 岛国av一区二区在线在线观看| 亚洲第一av在线| 国产欧美日韩视频| 日韩网站免费观看| 亚洲第一精品福利| 亚洲午夜精品久久久久久久久久久久| 久久久av一区| 久久久久久免费精品| 精品一区二区三区电影| 欧美日产国产成人免费图片| 日韩精品一二三四区| 亚洲欧洲国产伦综合| 国产啪精品视频网站| 97视频网站入口| 亚洲国产精品va在线看黑人| 成人有码视频在线播放| 2020国产精品视频| 成人www视频在线观看| 亚洲精品美女久久久| 亚洲国产精品免费| 亚洲成色777777在线观看影院| 亚洲第一在线视频| 久久综合亚洲社区| 日韩av观看网址| 欧美日韩亚洲一区二区| 91视频免费在线| 欧美日韩国产一区二区三区| 国产精品亚洲片夜色在线| 9.1国产丝袜在线观看| 亚洲福利视频二区| 亚洲欧美另类国产| 亚洲电影免费观看高清完整版| 国产视频精品va久久久久久| 欧美日韩福利在线观看| 成人乱人伦精品视频在线观看| 久久精品最新地址| 国产午夜精品一区二区三区| 在线播放国产一区中文字幕剧情欧美| 日韩久久精品成人| 欧美午夜xxx| 综合欧美国产视频二区| 亚洲精品白浆高清久久久久久| 黄色成人在线免费| 欧美野外wwwxxx| 日韩中文字幕网站| 国产一区二区三区视频免费| 国产在线观看不卡| 亚洲视频免费一区| 91久热免费在线视频| 两个人的视频www国产精品| 亚洲在线观看视频网站| 亚洲精品第一国产综合精品| 日韩网站在线观看| 国产成人拍精品视频午夜网站| 国产成人精品在线播放| 亚洲欧美日韩国产中文专区| 久久香蕉国产线看观看网| 国产亚洲精品日韩| 日韩视频―中文字幕| 亚洲免费视频观看| 狠狠躁夜夜躁人人爽天天天天97| 欧美精品videossex性护士| 久久精品影视伊人网| 久久精品国产清自在天天线| 亚洲欧美中文字幕| 日本中文字幕久久看| 欧美成年人网站| 国产精品视频最多的网站| 成人国产精品久久久久久亚洲| 色偷偷亚洲男人天堂| 亚洲成av人片在线观看香蕉| 精品视频一区在线视频| 色婷婷久久av| 欧美国产日韩一区二区在线观看| 亚洲欧美制服中文字幕| 日韩美女视频免费看|