1.基本配置
目前構(gòu)建項目有多種方式我這里簡單介紹兩種弯菊。
1、使用spring官網(wǎng) SPRING INITIALIZR 來構(gòu)建項目結(jié)構(gòu)
2踱阿、使用IntelliJ IDEA開發(fā)工具來構(gòu)建項目結(jié)構(gòu)
)
2.攔截器的使用
1管钳、創(chuàng)建我們自己的攔截器類并實現(xiàn) HandlerInterceptor 接口。
2扫茅、創(chuàng)建一個Java類繼承WebMvcConfigurerAdapter蹋嵌,并重寫 addInterceptors 方法。 實例化我們自定義的攔截器葫隙,然后將對像手動添加到攔截器鏈中(在addInterceptors方法中添加)栽烂。
SpringMVC內(nèi)部接口HandlerInterceptor,并且添加如果沒有session狀態(tài)直接跳轉(zhuǎn)
在下圖中同時表明了如何使用Session
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 多個攔截器組成一個攔截器鏈
// addPathPatterns 用于添加攔截規(guī)則
// excludePathPatterns 用戶排除攔截
registry.addInterceptor(new SessionInterceptor()).addPathPatterns("/**");
registry.addInterceptor(new MyInterceptor2()).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
##附錄一些注解
1.@SpringBootApplication注解
我們可以看到工具為我們自動生成的入口程序是有@SpringBootApplication的這么一個注解恋脚,那它主要是做什么的呢腺办?不難看出,它是聲明當前類為sprinboot的入口類糟描。而一個springboot項目內(nèi)有且只能有一個這個注解存在怀喉。
2.@RestController注解相當于@ResponseBody + @Controller合在一起的作用,用來標識控制器
3.@RequestMapping RequestMapping是一個用來處理請求地址映射的注解船响,可用于類或方法上躬拢。用于類上,表示類中的所有響應(yīng)請求的方法都是以該地址作為父路徑见间。
4.@Configuration:注解在類上聊闯,表示這是一個IOC容器,相當于spring的配置文件米诉,java配置的方式菱蔬。 IOC容器的配置類一般與@Bean 注解配合使用,用 @Configuration 注解類等價與 XML 中配置 beans,用
5.@Bean 注解方法等價于 XML 中配置 bean拴泌。@Bean: 注解在方法上魏身,聲明當前方法返回一個Bean
6. @responseBody注解的作用是將controller的方法返回的對象通過適當?shù)霓D(zhuǎn)換器轉(zhuǎn)換為指定的格式之后,寫入到response對象的body區(qū)蚪腐,通常用來返回JSON數(shù)據(jù)或者是XML數(shù)據(jù)箭昵,需要注意的呢,在使用此注解之后不會再走試圖處理器削茁,而是直接將數(shù)據(jù)寫入到輸入流中宙枷,他的效果等同于通過response對象輸出指定格式的數(shù)據(jù)。