教你十分钟快速搭建springBoot项目实战
生活随笔
收集整理的這篇文章主要介紹了
教你十分钟快速搭建springBoot项目实战
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
首先申明,本文并沒有原理性的東西(請自行百度),適合于剛接觸springBoot并有一定javaweb開發基礎的人群,大神和小白請出門左拐。
##使用工具 Eclipse、Maven、springBoot 本文不會講解Maven的安裝使用以及Eclipse下如何創建一個Maven項目
##實現功能 ###springBoot項目項目結構
pom.xml 文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.itstyle</groupId><artifactId>springBoot_demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>springBoot_demo</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!-- spring-boot-starter-parent包含了大量配置好的依賴管理,在自己項目添加這些依賴的時候不需要寫<version>版本號 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath/></parent><dependencies><!-- 實現web功能 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 模版 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><!-- 打包項目 mvn clean package --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><!-- mvn spring-boot:run 熱部署啟動 --><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.4.0.RELEASE</version></dependency></dependencies></plugin></plugins></build> </project>###如何啟動項目以及配置項目啟動端口以及日志級別
#服務端口 server.port=8080 #spring boot從控制臺打印出來的日志級別只有ERROR, WARN 還有INFO,如果你想要打印debug級別的日志 #debug=true logging.level.root=INFO #logging.level.org.springframework.web=DEBUG #logging.level.org.hibernate=ERROR#thymeleaf start #spring.thymeleaf.prefix: /templates/ #spring.thymeleaf.suffix: .html #spring.thymeleaf.mode=HTML5 #spring.thymeleaf.encoding=UTF-8 #spring.thymeleaf.content-type=text/html #開發時關閉緩存,不然沒法看到實時頁面 #spring.thymeleaf.cache=false###啟動springBoot項目并展示一個頁面,對應的是templates下index.html頁面。
/*** 其實我是個演員* 小柒*/ @SpringBootApplication @Controller public class App {private static final Logger logger = Logger.getLogger(App.class);@RequestMapping("/")public String greeting() {return "index";}public static void main(String[] args) {SpringApplication.run(App.class, args);logger.info("項目啟動 ");} }###整合thymeleaf模版實現一個簡單的頁面,對應的是templates下hello.html頁面。
@Controller public class HelloController {@RequestMapping("/hello")public String greeting(ModelMap map) {map.addAttribute("name", "其實我是個演員");map.addAttribute("host", "https://blog.52itstyle.com");return "hello";} }###如何統一配置404和500頁面
@Controller public class ErrorInterceptor implements HandlerInterceptor { /** * preHandle方法是進行處理器攔截用的,顧名思義,該方法將在Controller處理之前進行調用,SpringMVC中的Interceptor攔截器是鏈式的,可以同時存在 * 多個Interceptor,然后SpringMVC會根據聲明的前后順序一個接一個的執行,而且所有的Interceptor中的preHandle方法都會在 * Controller方法調用之前調用。SpringMVC的這種Interceptor鏈式結構也是可以進行中斷的,這種中斷方式是令preHandle的返 * 回值為false,當preHandle的返回值為false的時候整個請求就結束了。 */ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return true;// 只有返回true才會繼續向下執行,返回false取消當前請求 } /** * 這個方法只會在當前這個Interceptor的preHandle方法返回值為true的時候才會執行。postHandle是進行處理器攔截用的,它的執行時間是在處理器進行處理之 * 后,也就是在Controller的方法調用之后執行,但是它會在DispatcherServlet進行視圖的渲染之前執行,也就是說在這個方法中你可以對ModelAndView進行操 * 作。這個方法的鏈式結構跟正常訪問的方向是相反的,也就是說先聲明的Interceptor攔截器該方法反而會后調用,這跟Struts2里面的攔截器的執行過程有點像, * 只是Struts2里面的intercept方法中要手動的調用ActionInvocation的invoke方法,Struts2中調用ActionInvocation的invoke方法就是調用下一個Interceptor * 或者是調用action,然后要在Interceptor之前調用的內容都寫在調用invoke之前,要在Interceptor之后調用的內容都寫在調用invoke方法之后。 */ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { if(response.getStatus()==500){ modelAndView.setViewName("/errorpage/500"); }else if(response.getStatus()==404){ modelAndView.setViewName("/errorpage/404"); } } /** * 該方法也是需要當前對應的Interceptor的preHandle方法的返回值為true時才會執行。該方法將在整個請求完成之后,也就是DispatcherServlet渲染了視圖執行, * 這個方法的主要作用是用于清理資源的,當然這個方法也只能在當前這個Interceptor的preHandle方法的返回值為true時才會執行。 */ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }###最終項目演示
##碼云 https://git.oschina.net/52itstyle/springboot_demo
轉載于:https://my.oschina.net/52love/blog/1501298
總結
以上是生活随笔為你收集整理的教你十分钟快速搭建springBoot项目实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加密劫持病毒现身苹果macOS:盗版软件
- 下一篇: 谷歌更新 iOS 版 Google Ph