03_SpringBoot入門

什么是Spring Boot
Spring Boot的優(yōu)缺點

SpringBoot快速入門

設(shè)置spring boot的parent
<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.5.2.RELEASE</version>
</parent>

說明:Spring boot的項目必須要將parent設(shè)置為spring boot的parent,該parent包含了大量默認(rèn)的配置篡撵,大大簡化了我們的開發(fā)莉撇。

導(dǎo)入spring boot的web支持
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
添加Spring boot的插件
<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
編寫第一個Spring Boot的應(yīng)用
package cn.huachao.springboot.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@SpringBootApplication
@Configuration
public class HelloApplication {
    @RequestMapping("hello")
    @ResponseBody
    public String hello(){
        return "hello world觉义!";
    }
    
    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }
}

代碼說明:
1测摔、@SpringBootApplication:Spring Boot項目的核心注解蛮瞄,主要目的是開啟自動配置所坯。;
2挂捅、@Configuration:這是一個配置Spring的配置類芹助;
3、@Controller:標(biāo)明這是一個SpringMVC的Controller控制器闲先;
4周瞎、main方法:在main方法中啟動一個應(yīng)用,即:這個應(yīng)用的入口饵蒂;

啟動應(yīng)用

在Spring Boot項目中声诸,啟動的方式有兩種,一種是直接run Java Application另外一種是通過Spring Boot的Maven插件運行退盯。

  • 第一種
    main方法上右鍵:Run as ---> Java Application
  • 第二種


    點擊Run Configurations

注:第二種需要在項目中配置了上面的Spring boot的插件

項目啟動成功

Spring Boot的核心

入口類和@SpringBootApplication

Spring Boot的項目一般都會有*Application的入口類渊迁,入口類中會有main方法慰照,這是一個標(biāo)準(zhǔn)的Java應(yīng)用程序的入口方法。

@SpringBootApplication注解是Spring Boot的核心注解琉朽,它其實是一個組合注解:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
...

該注解主要組合了以下注解:

  • @SpringBootConfiguration:這是Spring Boot項目的配置注解毒租,這也是一個組合注解:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {

}

在Spring Boot項目中推薦使用@ SpringBootConfiguration替代@Configuration

  • @EnableAutoConfiguration:啟用自動配置,該注解會使Spring Boot根據(jù)項目中依賴的jar包自動配置項目的配置項:
    如:我們添加了spring-boot-starter-web的依賴箱叁,項目中也就會引入SpringMVC的依賴墅垮,Spring Boot就會自動配置tomcat和SpringMVC

  • @ComponentScan:默認(rèn)掃描@SpringBootApplication所在類的同級目錄以及它的子目錄惕医。

關(guān)閉自動配置

通過上述,我們得知算色,Spring Boot會根據(jù)項目中的jar包依賴抬伺,自動做出配置,Spring Boot支持的自動配置如下(非常多):


自動配置

如果我們不需要Spring Boot自動配置灾梦,想關(guān)閉某一項的自動配置峡钓,該如何設(shè)置呢?

比如:我們不想自動配置Redis若河,想手動配置能岩。

@Controller
@SpringBootApplication(exclude={RedisAutoConfiguration.class})
@Configuration
public class HelloApplication {
...

自定義Banner

啟動Spring Boot項目后會看到這樣的圖案:



這個圖片其實是可以自定義的:

如果不想看到任何的banner捧灰,也是可以將其關(guān)閉的:

    public static void main(String[] args) {
//      SpringApplication.run(HelloApplication.class, args);
        SpringApplication application = new SpringApplication(HelloApplication.class);
        application.setBannerMode(Banner.Mode.OFF);//關(guān)閉Banner
        application.run(args);
    }

全局配置文件

Spring Boot項目使用一個全局的配置文件application.properties或者是application.yml,在resources目錄下或者類路徑下的/config下统锤,一般我們放到resources下毛俏。

  • 修改tomcat的端口為8088
server.port=8088

重啟


  • 修改進(jìn)入DispatcherServlet的規(guī)則為:*.html
server.port=8088
server.servlet-path=*.html

重啟之后:



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市饲窿,隨后出現(xiàn)的幾起案子煌寇,更是在濱河造成了極大的恐慌,老刑警劉巖逾雄,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阀溶,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸦泳,警方通過查閱死者的電腦和手機(jī)银锻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來做鹰,“玉大人击纬,你說我怎么就攤上這事〖佤铮” “怎么了更振?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饭尝。 經(jīng)常有香客問我肯腕,道長,這世上最難降的妖魔是什么钥平? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任实撒,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘知态。我一直安慰自己捷兰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布肴甸。 她就那樣靜靜地躺著,像睡著了一般囚巴。 火紅的嫁衣襯著肌膚如雪原在。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天彤叉,我揣著相機(jī)與錄音庶柿,去河邊找鬼。 笑死秽浇,一個胖子當(dāng)著我的面吹牛浮庐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播柬焕,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼审残,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了斑举?” 一聲冷哼從身側(cè)響起搅轿,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎富玷,沒想到半個月后璧坟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡赎懦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年雀鹃,在試婚紗的時候發(fā)現(xiàn)自己被綠了匾二。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屈呕。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖炉峰,靈堂內(nèi)的尸體忽然破棺而出当悔,到底是詐尸還是另有隱情工三,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布先鱼,位于F島的核電站俭正,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏焙畔。R本人自食惡果不足惜掸读,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧儿惫,春花似錦澡罚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至铛铁,卻和暖如春隔显,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饵逐。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工括眠, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倍权。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓掷豺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親薄声。 傳聞我的和親對象是個殘疾皇子当船,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容