1. 程式人生 > >SSM全註解完整開發框架基礎搭建

SSM全註解完整開發框架基礎搭建

整套框架是以SpringBoot的為基礎,使傳統SSM專案拋棄了XMl的繁瑣配置,又可以擴充套件SpringBoot存在的侷限性,使之可以用於大型專案並減少配置。

一、替代web.xml的啟動端

       這裡選擇的方式是實現WebApplicationInitializer介面,好處是可以使用ServletContext載入一些其他需要的Servlet或者Filter、Listener之類的web處理器,原理是在TomCat啟動時,我們之前新增過一個Spring的監聽類,用來監聽ServletContext的建立,那麼,我們可以反過來想,在ServletContext建立的時候,直接加入Spring不也是可以的嘛,這個WebApplicationInitializer介面正好呼叫了ServletContext,所以直接把Spring框架的一些配置加到裡面就可以了。


        然後重寫onStartup方法,加入一些常見的Servlet、Listener和Filter,專案加入tomcat就能直接啟動了。

二、代替application-context.xml的資料庫配置

        按照SpringBoot的方式可以用新增@Bean的方式對應xml裡的<bean>

        1.資料庫連線池的配置:


        2.Mybatis的一些設定:


        3.Mybatis的掃包、事物配置以及對service層的掃包

三、展現層的SpringMVC全註解

        1.建立配置類,實現WebMvcConfigurer介面,重寫configureDefaultServletHandling方法,


            這樣可以使用DefaultServlet對靜態資源進行處理,省去配置資源路徑的任務。SpringBoot不可用此方式...

        2.配置類加註解


            掃描的到controller註解所在的包

        3.進行一些一般的配置

           常用的配置,比如multipartResolver


            再比如檢視解析器,這裡用的是internalResourceViewResolver,因為我的專案沒有使用JSP


            還有Json的一些格式配置


四、安全框架Shiro在spring的註解配置

        1.配置ShiroFilterFactoryBean過濾器工廠,至於Realm,這個需要使用者自己寫登入判斷的邏輯,這裡只需要帶有shiro的配置類掃描一下Realm所在的包就好。


        2.配置SecurityManager


            這裡可以自己新增快取,修改Session標註以及定義密碼加密方式

五、專案端程式碼示例

        1.Mybatis

            因為沒有了xml,所有的SQL語句就可以直接寫接口裡,上面配置過的@MapperScan("project.dao"),直接掃描這裡的介面,然後把這些介面寫到Spring的配置裡。

            以usermapper.java為例


            使用一些註解可以完成基礎的增刪改查,多表的可以使用@SelectProvider自定義SQL語句

        2.SpringMVC

            SpringMVC中改動不大,因為我是用RESTful的形式返回Json,所以用了@RestController註解


            以登入模組為例截圖,引數以POST的形式接收,使用@PostMapping註解即可,登入判斷交個Shiro了。

            3.Service層並沒有什麼改動,按照註解宣告式事務寫Service即可,不要忘了在service實現類上加@Service就好。

六、需要注意的地方

    1.因為沒有配置檔案,所以掃包和類頭上的註解就變得尤為重要,所以當用@Autowired找不到類,按照檢查掃包、檢查引用類註解、檢查其實現類這三步走能解決很多遇到的問題。

    [email protected]註解可以幫我們手動新增一些配置Bean,但有很多的元件並沒有提供setXXXXXX或者addXXXXXX方法,這些元件一般都是老舊的或者過時的,無可奈何的情況下,只能新增配置檔案,這時在web配置類裡

    加入ContextLoaderListener,配置檔案路徑寫好也可以使用。這種方法也可以用於Servlet3.0往上,並且需要使用配置檔案的專案。

    3.SpringMVC的配置類與SpringJDBC的掃包儘量不要掃同一包,這樣可能會導致事物配置出錯。

    4.包裝型別(Boolean、Long、Integer.....)使用時儘量進行判空,或者資料庫裡儘量設定為允許空值。

    5.使用JstlView的檢視解析器,個人建議Prefix與Suffix設定為空串"",這樣可以增加跳轉時的靈活性,尤其是return為String時,這種靈活性更高,對於多Contoller和RequestMapping的跳轉更友好。

    6.JSP的使用很方便後端工程師對外輸出資料,但是其終究是Servlet的變種,渲染成頁面時會消耗伺服器的資源,所以儘量在大訪問量的專案使用RESTful形式會更好。

    7.個人感覺SpringBoot的不斷完善與這兩年Java模組化的發展,整個Java體系隱隱的透露了無xml的時代即將到來,xml也許會成為上古異物,所以現在在開發新專案的各位可以嘗試用註解開發。

相關推薦

SSM註解完整開發框架基礎搭建

整套框架是以SpringBoot的為基礎,使傳統SSM專案拋棄了XMl的繁瑣配置,又可以擴充套件SpringBoot存在的侷限性,使之可以用於大型專案並減少配置。一、替代web.xml的啟動端       這裡選擇的方式是實現WebApplicationInitializer

基於SpringBoot搭建應用開發框架基礎架構

目錄 回到頂部 Spring的簡史 第一階段:XML配置,在Spring1.x時代,使用Spring開發滿眼都是xml配置的Bean,隨著專案的擴大,我們需要把xml配置檔案分放到不同的配置檔案裡,那時候需要頻繁的在開發的類和配置檔案之間切換。 第二階段:註解配置

CMDB開發基礎搭建

cmdb的介紹與需求 CMDB(配置管理資料庫)儲存與管理企業IT架構中裝置的各種配置資訊,它與所有服務支援和服務交付流程都緊密相聯,支援這些流程的運轉、發揮配置資訊的價值,同時依賴於相關流程保證資料的準確性。 上面是對cmdb系統的介紹,但是我們的cmdb專案要比定義當中的cmdb具有

Weex基於Vue2.0開發框架模板搭建

前言 最近有一些人反饋說在面試過程中常常被問到weex相關的知識,也側面反映的weex的發展還是很可觀的,可是目前weex的開發者大多數是中小型公司或者個人,大公司屈指可數,揪其原因可能是基於weex的開發正確的姿勢大家並沒有找到,而且市面上的好多輪子

SSH註解開發

第一步:引入註解的jar包 struts2-convention-plugin-2.3.16.3.jar struts2的註解 Struts2:替換掉struts.xml檔案 在Action類的上面放上: 替換掉struts.xml裡面的namespace: @Namesp

基於Spring MVC+Spring JPA技術使用Spring註解實戰開發大型商業ERP專案

對這個課程有興趣的朋友可以加我的qq2059055336和我聯絡哦 一、本課程是怎麼樣的一門課程(全面介紹)    1.1、課程的背景 ERP是(Enterprise Resource Planning,企業資源計劃系統)的概念,是美國GartnerGroup

Unity進階之ET網路遊戲開發框架 05-搭建自己的第一個Scene

版權申明: 本文原創首發於以下網站: 部落格園『優夢創客』的空間:https://www.cnblogs.com/raymondking123 優夢創客的官方部落格:https://91make.top 優夢創客的遊戲講堂:https://91make.ke.qq.com 『優夢創客』的微信公眾號:um

完整搭建spring5+springmvc+mybatis+druid+swagger+druid基礎開發框架 (配置記錄)

pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

從零開始完整搭建 Spring-Boot 專案開發框架的教程

前言 難度:簡單 型別:step-by-step 適用:初學者,完全沒有接觸過 Spring-Boot 開發環境:jdk 1.8 關鍵詞:java, sring-boot, spring-mvc, restful 筆者環境:macOS 1. 專案建立 1.1 使用腳手架生成專案

註解整合SSM框架

目錄 1.建立WebAppInitializer配置類 2.配置dispatcherServlet 3.配置Spring IoC 4.配置Mybatis 5.配置對映器 6.建立Mapper介面 7.最後 1.建立WebAppInitializer配置類

WEB開發----SSM框架搭建

上一篇我使用maven建立一個web專案Maven專案的搭建 。今天將在那個的基礎上進行完善,做成SSM模式的web框架. 1. 在src/mian/java/下面建立Package,格式如下: 2. 在src/main/resources下建

SSM框架搭建及專案開發的步驟

第一階段: 1、用PowerDesign建資料模型,並匯出SQL檔案; 2、將SQL檔案匯入到MySQL客戶端,建立表格;   MySQL資料遠端訪問:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’IDENTIFIED BY

基於註解的Spirng MVC框架搭建(基礎篇)

看這篇搭建過程前,最好是先了解一下原理。 最近正好在帶兩個實習生,教他們怎麼搭建一個Spring MVC的框架,網上也看了很多demo,發現各有各的版本,於是自己用Spring3,Hibernate3搭了一個,伺服器是Tomcat6,資料庫是MySql(note:這好像

基於vue-cli網上商城專案實戰開發——搭建一個完整的SPA專案開發框架(一)

基於vue-cli腳手架,結合實際專案經驗,搭建一個完整的SPA專案框架。 安裝vue-cli腳手架 先貼出官方的命令列工具使用方法 官方命令列工具 鑑於此過程比較緩慢,我這裡推薦使用淘寶映象來安裝。依次執行以下步驟 (本人mac,需要sudo獲

SSM框架專案搭建系列(五)—Spring之Bean的註解注入

applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/bea

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3註解框架

一、新建專案 1.        新建maven專案 New ->project 選擇Maven project next 在filter輸入webapp 選擇maven-archetype-webapp Group id輸入inscribe,artifac

SSM框架專案搭建系列(七)—Spring AOP之基於註解的宣告式AspectJ

工程結構 其中AOP和com.ssm包下面的檔案不用管;dispatcher-servlet.xml和web.xml和之前專案中的內容一樣。 applicationContext.xml <?xml version="1.0" encodin

MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3註解框架搭建.docx

一、新建web專案 1.        File-->New-->web project 2.        工程名稱:king-back-->點選Java EE 6.0標準   二、新增ssh2支援 1.        新增struts2 工程上點

.netCore+Vue 搭建的簡捷開發框架 (4)--NetCore 基礎

書接上文:上一節中,我們已經實現Services 層。(https://www.cnblogs.com/xuzhencheng/p/11424751.html) 但是具體要如何將服務依賴注入進來呢?繼續來續寫我學習筆記!這節中更多的是關於NetCore 的一些基礎知識。如果基礎不錯的小夥伴,可以略過! &nb

[轉]Eclipse插件開發基礎篇(4) OSGi框架

動作 update 執行 創建 class cti 指定 mpc 代碼 原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/18/eclipse_plugin_1_2_1.html   1. 什麽是OSGi框架   O