日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

关于MVC框架和spring

發布時間:2024/9/30 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于MVC框架和spring 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

MVC開始是存在于桌面程序中的,M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

MVC指MVC模式的某種框架,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。最典型的MVC就是JSP + servlet + javabean的模式

視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標識語言和Web services.

模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理數據庫,被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據,由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性

控制器
接受用戶的輸入并調用模型和視圖去完成用戶的需求,所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數據。

spring

spring是一個非常優秀的java框架,其目標是為了簡化java企業級開發,spring出來已經十幾年了,這期間也一直圍繞著這個目標在進行,springmvc、springboot、springcloud,這些技術也都是圍繞著簡化開發的目標在努力,spring除了不能幫助我們實現業務邏輯代碼之外,其他的事情spring都盡量去幫我們簡化了,使用spring可以幫助我們節約大量開發時間。

1.IOC控制反轉,是一種設計理念,將對象創建和組裝的主動控制權利交給了spring容器去做,控制
的動作被反轉了,降低了系統的耦合度,利于系統維護和擴展,主要就是指需要使用的對象的組裝
控制權被反轉了,之前是自己要做的,現在交給spring容器做了。
2. DI依賴注入,表示spring容器中創建對象時給其設置依賴對象的方式,通過某些注入方式可以讓系統更靈活,比如自動注入等可以讓系統變的很靈活
3. spring容器:主要負責容器中對象的創建、組裝、對象查找、對象生命周期的管理等等操作

Bean對象

由spring容器管理的對象統稱為Bean對象。Bean就是普通的java對象,和我們自己new的對象其實是
一樣的,只是這些對象是由spring去創建和管理的,我們需要在配置文件中告訴spring容器需要創建哪些bean對象,所以需要先在配置文件中定義好需要創建的bean對象,這些配置統稱為bean定義配置元數據信息,spring容器通過讀取這些bean配置元數據信息來構建和組裝我們需要的對象。

Spring容器使用步驟

  • 引入spring相關的maven配置
  • 創建bean配置文件,比如bean xml配置文件
  • 在bean xml文件中定義好需要spring容器管理的bean對象
  • 創建spring容器,并給容器指定需要裝載的bean配置文件,當spring容器啟動之后,會加載這些配置文件,然后創建好配置文件中定義好的bean對象,將這些對象放在容器中以供使用
  • 通過容器提供的方法獲取容器中的對象,然后使用
  • spring容器中具有代表性的容器就是BeanFactory接口,這個是spring容器的頂層接口,提供了容器最基本的功能。
  • BeanFactory接口

    常用的幾個方法
    //按bean的id或者別名查找容器中的bean
    Object getBean(String name) throws BeansException
    //這個是一個泛型方法,按照bean的id或者別名查找指定類型的bean,返回指定類型的bean對象
    T getBean(String name, Class requiredType) throws BeansException;
    //返回容器中指定類型的bean對象
    T getBean(Class requiredType) throws BeansException;
    //獲取指定類型bean對象的獲取器
    ObjectProvider getBeanProvider(Class requiredType);

    ApplicationContext接口

    這個接口繼承了BeanFactory接口,所以內部包含BeanFactory所有的功能,并且在其上進行了擴展,增加了很多企業級功能,比如AOP、國際化、事件支持等等。

    ClassPathXmlApplicationContext類

    這個類實現了ApplicationContext接口,注意一下這個類名稱包含了ClassPath Xml,說明這個容器類可以從classpath中加載bean xml配置文件,然后創建xml中置的bean對象

    AnnotationConfigApplicationContext類

    這個類也實現了ApplicationContext接口,bean的定義支持xml的方式和注解的方式,當我們使用注解的方式定義bean的時候,就需要用到這個容器來裝載了,這個容器內部會解析注解來構建構建和管理需要的bean。
    注解的方式相對于xml方式更方便一些.

    Druid

    Druid的主要功能如下:
    是?個?效、功能強?、可擴展性好的數據庫連接池。
    可以監控數據庫訪問性能。
    數據庫密碼加密
    獲得SQL執??志
    擴展JDBC

    總結

    以上是生活随笔為你收集整理的关于MVC框架和spring的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。