1. 程式人生 > >純手寫SpringMVC到SpringBoot框架專案實戰

純手寫SpringMVC到SpringBoot框架專案實戰

引言


Spring Boot其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。


通過這種方式,springboot是一個快速整合第三方框架的,簡化了xml的配置,專案中再也不包含web.xml檔案了,完全使用註解來完成操作的,並且內部自帶tomcat啟動。直接使用jar檔案執行即可。


好了大概瞭解了springboot有啥用處,本章節主要目的就是仿造一個springboot整合jsp的小實戰。下面開始程式碼演示了。


1.匯入相關依賴


建立專案之後需要引入tomcat,springmvc,spring-web,jsp相關的jar包。

程式碼如下:

<!-- tomcat相關jar -->
<dependency>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-core</artifactId>
 <version>8.5.34</version>
</dependency>
<!-- tomcat對jsp支援 -->
<dependency>
 <groupId>
org.apache.tomcat</groupId>
 <artifactId>tomcat-jasper</artifactId>
 <version>8.5.16</version>
</dependency>

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-web</artifactId>
 <version>5.0.10.RELEASE</version
>

 <scope>compile</scope>
</dependency>
<!-- springmvc相關jar -->
<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-webmvc</artifactId>
 <version>5.0.10.RELEASE</version>
 <scope>compile</scope>
</dependency>


2.載入spring mvc的相關配置資訊


需要建立一個springmvc相關配置類繼承WebMvcConfigurationSupport ,這裡只配置一個springmvc檢視解析器。

程式碼如下:

//表示這是一個配置類,配置<beans></beans>
@Configuration
//表示配置檢視解析器,開啟註解的相關配置,以及<bean></bean>等等。
@EnableWebMvc
//表示包掃描
@ComponentScan(basePackages = {"springboot.controller"})
public class WebConfig extends WebMvcConfigurationSupport {
 /**
  * 配置springMVC檢視解析器
  */

 @Bean
 public ViewResolver viewResolver() {
   InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
   //配置字首
   viewResolver.setPrefix("/WEB-INF/views/");
   //配置字尾
   viewResolver.setSuffix(".jsp");
   //可以在jsp頁面中通過${}訪問beans
   viewResolver.setExposeContextBeansAsAttributes(true);
   return viewResolver;
 }
}


@Configuration:表示這是一個配置類,配置<beans></beans>。


@EnableWebMvc:開啟註解的相關配置(配置檢視解析器,以及<bean></bean>)等等。
@ComponentScan:表示包掃描。


viewResolver.setExposeContextBeansAsAttributes(true):jsp頁面可以使用el表示式。


3.載入spring容器相關配置資訊


建立一個SpringBeanScanConfig配置類,這個類主要是掃描service和dao層的,程式碼如下:

//表示配置類
@Configuration
//如果寫了dao層,那麼這裡也需要掃描一下dao層
@ComponentScan("springboot.service")
public class SpringBeanScanConfig{

}

這個類目前什麼都不需要做。


4.載入springMVC的dispatcherservlet


建立一個載入SpringMVC的DispatcherServlet的類。

程式碼如下:

public class DispatcherServletWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
 /**
  * 載入spring容器配置資訊
  * @return
  */

 @Override
 protected Class<?>[] getRootConfigClasses() {
    return new Class[] {Service_DaoConfig.class};
 }

 /**
  * 載入springmvc配置資訊
  * @return
  */

 @Override
 protected Class<?>[] getServletConfigClasses() {
   return new Class[]{WebConfig.class};
 }

 /**
  * springmvc對映 攔截url所有請求"/"
  * @return
  */

 @Override
 protected String[] getServletMappings() {
   return new String[]{"/"};
 }
}

解釋:

getRootConfigClasses():表示載入spring容器配置資訊

getServletConfigClasses():表示載入springmvc配置資訊

getServletMappings():表示springmvc對映 攔截url所有請求"/"


下面程式碼就容易理解了。


5.service層


在service層建立一個IndexService業務類

程式碼如下:

@Service
public class IndexService {

 public String show() {
   return "我是service層";
 }
}

controller層


程式碼如下:

@Controller
public class IndexContrller {

 @Autowired
 private IndexService indexService;
 /**
  * value:訪問地址
  * produces:解決亂碼問題
  * @return
  *
  */

 @RequestMapping(value = 

相關推薦

高手過招「效能優化/SpringMVC框架/MySql優化/微服務」

效能優化那些絕招,一般人我不告訴他 1,支付寶介面的介面如何正確呼叫; 2,從併發程式設計角度來提高系統性能; 3,系統響應的速度縮短N倍的祕密; 4,從Futuretask類原始碼分析到手寫; 5,快速提升Web專案吞吐量;   300行精華程式碼:純手寫SpringMVC框

ORM框架

1.首先定義一個實體類Book public class Book { private Integer bookId; private String bookName; private String bookAuthor; private BigDecimal bo

Mybatis框架

介面層-和資料庫互動的方式 MyBatis和資料庫的互動有兩種方式: 使用傳統的MyBatis提供的API; 使用Mapper介面; 使用Mapper介面 MyBatis 將配置檔案中的每一個<mapper> 節點抽象為一個 Mapper 介面: 這個

Mybatis框架視訊教程【免費觀看】

第一節(純手寫Mybatis註解版本框架-專案演示)第二節(純手寫Mybatis註解版本框架-mybatis基礎知識回顧與JDBCUtils工具類)第三節(純手寫Mybatis註解版本框架-環境搭建)第

SpringMVC框架,用註解實現springmvc過程

開發十年,就只剩下這套架構體系了! >>>   

SpringBoot框架之註解方式啟動SpringMVC容器

使用Java語言建立Tomcat容器,並且通過Tomcat執行Servlet,接下來,將會使用Java語言在SpringBoot建

SpringMVC到SpringBoot框架專案實戰

引言 Spring Boot其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。 通過這種方式,springboot是一個快速整合第三方框架的,簡化了xml的配置,專案中再也不包含web.xml檔案了

Spring Boot2.0之框架

框架部分重點在於實現原理,懂原理! 廢話不多說,動手幹起來! SpringMVC程式入口? 沒有配置檔案,Spring 容器是如何載入? 回顧我們之前搭建Spring Boot專案使用的pom 引入的依賴需要parent,其作用是支援依賴 快速整合框架 不需要寫版本號 還有就是web元件,自動引入s

springboot專案(詳細)

導語:不會用eclipse建立springboot專案?也不會用IDEA建立springboot專案?沒關係,會建立資料夾和文字文件就行。 1、springboot專案目錄結構 springboot專案檔案目錄結構   &nb

SpringBoot2.0框架視訊教程【免費分享】

 第一節-純手寫SpringBoot框架之專案演示 第二節-純手寫SpringBoot框架之原生環境搭建 第三節-純手寫SpringBoot框架之原理剖析 第四節-純手寫SpringBoot框架之建立內建Tomcat容器 第五節-純手寫SpringBoot框架之註解方式啟動S

重學 Java 設計模式:實戰中介者模式「按照Mybatis原理ORM框架,給JDBC方式操作資料庫增加中介者場景」

![](https://img-blog.csdnimg.cn/20200627092858193.jpg) 作者:小傅哥 部落格:[https://bugstack.cn](https://bugstack.cn) - `原創系列專題文章` >沉澱、分享、成長,讓自己和他人都能有所收穫!

簡易-五星評分-jQuery

開始 round size dcl cas blog ren func fin 超級簡單的評分功能,分為四個步驟輕松搞定: 第一步:   引入jquery文件;這裏我用百度CDN的jquery: <script src="http://apps.bdimg.com/

vue10行代碼實現上拉翻頁加載更多數據,js實現下拉刷新上拉翻頁不引用任何第三方插件

each ray 如果 部分 list 插件 下拉 ast 頁面數據 vue10行代碼實現上拉翻頁加載更多數據,純手寫js實現下拉刷新上拉翻頁不引用任何第三方插件/庫 一提到移動端的下拉刷新上拉翻頁,你可能就會想到iScroll插件,沒錯iScroll是一個高性能,資源占用

css3loading效果

-s 1.3 utf AC keyframes title sca osi inf <!DOCTYPE html> <html> <head> <meta charset="UTF-8">

轉載:SpringMVC框架

javaee 作用 小寫 繼承 inf group css finally 減少 帶你手寫一個SpringMVC框架(有助於理解springMVC) 鏈接:https://my.oschina.net/liughDevelop 作者:我叫劉半仙 Spring

大學生簡單網頁div+css網頁代碼制作html靜態頁面切圖排版

靜態頁面 靜態頁 watermark 簡單 ima 大學生 ges 51cto mar 了解下下+2425691680 大學生簡單網頁div+css網頁純手寫代碼制作html靜態頁面切圖排版

linux入門考試題答案(個人)

考試資訊: IPADDR: 172.25.254.x(X 在這裡指您的工作站編號加100) NETMASK: 255.255.255.0 GATEWAY: 172.25.254.250 DNS: 172.25.254.250 yum源地址為:http://172.25.254.250/rhel7

系列】實現一個高可用的RPC

前言 在實際後臺服務開發中,比如訂單服務(開發者A負責)需要呼叫商品服務(開發者B負責),那麼開發者B會和A約定呼叫API,以介面的形式提供給A。通常都是B把API上傳到Maven私服,然後B開始寫API的實現,A只需要引入API依賴進行開發即可。 訂單

一、1 基於socketweb框架

1 web 應用 2 c/s 和bs架構 3 python中的web框架     a :socket     b:路由跟檢視函式匹配關係   &n

Spring,麻雀雖小,五臟俱全

                                          &nb