关于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容器使用步驟
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java的流对象和一些方法
- 下一篇: s3c2440移植MQTT