《0基礎(chǔ)自學linux運維-6.15-IDEA 建立簡單的spring boot [war方式]》文章中提到了用war方式建立一個hello。
一、從目錄結(jié)構(gòu)上分析
目錄結(jié)構(gòu)如下:
這個目錄結(jié)構(gòu)是因為集成了maven了maven才會變成這樣匾效。種目錄的作用為:
[Artifact名]Application:這里是DemoApplication,這個是主入口文件,包括有主入口注解@SpringBootApplication
ServletInitializer:因為我使用的是外置的tomcat原茅,所以可以使用JSP恼五。使用外置tomcat必須編寫一個SpringBootServletInitializer的子類睬罗,并調(diào)用configure方法羡滑,所以選擇war方式會比jar多了一個ServletInitializer 文件。?如果選擇jar方式則使用內(nèi)置tomcat是沒有這個文件的
資源resources
1)static:放置靜態(tài)文件奖亚,如html、js、css
2)templates:放模板,如Thymeleaf
3)application.properties:這個文件也可以改用yaml方式酣倾,即application.yml杠输,一般建議使用.yml格式勇吊。因為是主流配置方式碟狞。這個是全局配置文件竭业,具體可以配置哪些可以看官網(wǎng)攘残,這里有一個按照官網(wǎng)的中文解釋。
可以配置日志从绘、AOP 切面艘策、國際化(消息源自動配置)合砂、緩存轻姿、JMX、數(shù)據(jù)庫医窿、redis、web相關(guān)症歇、安全等等
maven配置文件
pom.xml:? 要描述了項目的maven坐標凄吏,依賴關(guān)系难咕,開發(fā)者需要遵循的規(guī)則椭懊,缺陷管理系統(tǒng)倔矾,組織和licenses胧华,以及其他所有的項目相關(guān)因素剪决,是項目級別的配置文件。
二、代碼注解簡單說明
hello Word主要代碼是DemoApplication.java文件苟翻,代碼如下:
其中:
@SpringBootApplication:為主入口注解汞扎,來標注一個主程序類浓恶,說明這是一個Spring Boot應用
@RequestMapping:這個是SpringMVC注解知識,就是做一個請求映射胸嘴,這個就用講了吧
@RestController:為@RequestBody+@Controller 兩個結(jié)起來的意思席赂。默認返回的是json數(shù)據(jù)喊熟。值得注意的是:在進行 @RestController不一定要寫在@SpringBootApplication 所在的主入口中壁拉, 但是一定要放在與SpringBoot主入口文件同級或下級中,要不運行報錯乎婿,如下?
這里隨便講一下@Controller版确,如果代碼中使用的是@Controller的話骂澄,那么它就會去找“resources-->templates-->返回值名字的模式文件”坟冲,比如改一下代碼
2.在此之前需要添加一個模板我這里使用thymeleaf健提,在pom.xml添加如下內(nèi)容
<dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-thymeleaf</artifactId>
?</dependency>
3.在模擬目錄resources/templates建立一個與返回值一樣的html文件私痹,我這里是ok.html,內(nèi)容如下:
運行效果如下:
三、代碼簡單的標準化
上面的代碼例子可以看出我們都寫在主入口文件中了蕊爵,如果有一堆映射桦山,那不是很亂恒水,所以一般建立建立一個獨立的目錄放一下,如:
還有一些比如類用大駝峰滥搭,變量用小駝峰等:
更多的標準瑟匆、規(guī)范見《阿里巴巴Java開發(fā)手冊(詳盡版)》