1.在SpringBoot項目中,classpath有兩個目錄,template和static。這兩個目錄有什麼區別呢?css
1.template文件夾用於存放的文件,好比a.thml這個文件不能被直接訪問,好比localhost/a.html這樣是訪問不了的。只能讓視圖解析器返回視圖名「a」,而後才能夠訪問到。html
@RequestMapping({"/a"}) public String hello(){ return "a"; }
這樣即可以經過localhost/a來訪問到template目錄下的a.html頁面了。前端
template文件夾通常用於存放網頁界面html文件。java
2.static文件夾用於存放boostrap,jquery庫文件,css,js文件,靜態html文件。static文件夾下的文件能夠直接訪問,如localhost/a.html能夠直接訪問static文件夾下的a.html文件。可是視圖解析器,返回的視圖不能解析到這個目錄下。按照前面的那個控制器,若是a.html只放在static目錄下,那麼localhost/a將是404.jquery
2.網頁設計模式spring
模板引擎咱們通常會選擇thymeleaf或者jsp,這兩種模板引擎均可以製做母版。sql
抽取界面公共部分數據庫
咱們能夠將一些公共的部分抽取出來,網頁的頭部,底部,抽取出來作成模板(header.html, footer.html, leftbar.html, rightbar.html),其餘文件能夠直接引入。bootstrap
將導入庫文件的代碼放入目模板中後端
網頁開發,咱們通常會使用boostrap,jquery等框架,每一個html文件裏面都去引入這些庫,太過於麻煩。咱們能夠將導入庫文件的這些代碼放入header.html, footer.html, leftbar.html, rightbar.html這些模板界面中。其餘界面凡是引入了模板界面的均可以再也不從新引入,直接使用bootstrap,jquery等框架。
3. 表單能夠不寫提交路徑,這樣表單默認的提交路徑就是當前界面的uri
4. 關於初始化數據庫數據
方法有兩個。1. springboot項目中,能夠在classpath目錄下建立一個import.sql文件,這個文件中的sql會自動執行。2. 啓動項目時調用dao層進行插入數據。
5.關於ngix
ngix是一款很是優秀的反向代理服務器。配置ngix的技巧:全部的server只監聽80端口,根據訪問時使用的域名不一樣,代理到不一樣的服務器(ip+端口),將不一樣域名對應到不一樣的ip和端口。還能夠用於負載均衡。
配置案例:
server { listen 80; server_name http://www.shun.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://127.0.0.1:8080; proxy_connect_timeout 600; proxy_read_timeout 600; } } server { listen 80; server_name http://api.shun.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://127.0.0.1:9001; proxy_connect_timeout 600; proxy_read_timeout 600; } } upstream tomcat-travel{ server 192.168.177.129:8080; server 192.168.177.129:8081; server 192.168.177.129:8082; } server { listen 80; server_name http://www.hehe.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://tomcat-travel;; proxy_connect_timeout 600; proxy_read_timeout 600; } }
6.軟件開發方式:
1.先定義好api文檔,先後端人員根據api文檔開發,而後整合,先後端項目一塊兒運行,便可。
2.前端已經寫好了,後臺根據前臺調用關係開發。
3.後臺已經開發好了,前臺根據後臺api開發。
7.寫代碼
代碼裏面能夠不寫註釋。可是方法,類上面必定要寫javadoc註釋,說明這個方法或者類的做用,功能。
8.關於默認值
1.springmvc中@RequstParam註解,給參數設置默認值@RequstParam(value="...", defaultValue="...")。用defaultVale時,就算是int類型,值也要寫成字符串,如:@RequstParam(value="num", defaultValue="3") Integer num。
2.可是有的數據不方便設置默認值,然而客戶端可能不傳該參數,能夠設置required屬性@RequstParam(value="...", required="false")
9.# {}與${}的區別