1. 程式人生 > >搭建spring boot項目

搭建spring boot項目

mod sca 結果 轉換 off web framework 想要 pos

1.建立maven項目

技術分享圖片

技術分享圖片

點擊finish,完成創建maven項目

在pom.xml文件中添加如下代碼:

 1   <parent>
 2     <groupId>org.springframework.boot</groupId>
 3     <artifactId>spring-boot-starter-parent</artifactId>
 4     <version>1.4.4.RELEASE</version>
 5   </parent>
 6     <dependencies
> 7 <dependency> 8 <groupId>org.springframework.boot</groupId> 9 <artifactId>spring-boot-starter-web</artifactId> 10 </dependency> 11 </dependencies>

其中,spring-boot-starter-parent的作用是繼承一些springboot的默認配置,比如:

  • 默認使用Java 8
  • 使用UTF-8編碼
  • 一個引用管理的功能,在dependencies裏的部分配置可以不用填寫version信息,這些version信息會從spring-boot-dependencies裏得到繼承。
  • 識別過來資源過濾(Sensible resource filtering.)
  • 識別插件的配置(Sensible plugin configuration (exec plugin, surefire, Git commit ID, shade).)
  • 能夠識別application.properties和application.yml類型的文件,同時也能支持profile-specific類型的文件(如: application-foo.properties and application-foo.yml,這個功能可以更好的配置不同生產環境下的配置文件)。

  如果不想用默認配置,可以使用自定義配置覆蓋默認配置,比如更改默認使用的jdk版本為1.7

<properties>
    <java.version>1.7</java.version>
</properties>

建立Application.class類,該類作為springboot的啟動器

 1 package main;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 
 6 @SpringBootApplication(scanBasePackages={"com.myproject"})
 7 public class Application {
 8     public static void main(String[] args) {
 9         SpringApplication.run(Application.class, args);
10         //以下是是否禁用啟動標識
11 //        SpringApplication application = new SpringApplication(Application.class);
12 //        application.setBannerMode(Mode.OFF);
13 //        application.run(args);
14     }
15 }

其中,@SpringBootApplication是一個組合註解,@SpringBootApplication = (默認屬性)@Configuration + @EnableAutoConfiguration + @ComponentScan。

@Configuration

1、@Configuration:提到@Configuration就要提到他的搭檔@Bean。使用這兩個註解就可以創建一個簡單的spring配置類,可以用來替代相應的xml配置文件。

1         <beans>
2             <bean id = "car" class="com.test.Car">
3                 <property name="wheel" ref = "wheel"></property>
4             </bean>
5             <bean id = "wheel" class="com.test.Wheel"></bean>
6         </beans>

相當於:

 1 @Configuration
 2 public class Conf {
 3     @Bean
 4     public Car car() {
 5         Car car = new Car();
 6         car.setWheel(wheel());
 7         return car;
 8     }
 9     @Bean 
10     public Wheel wheel() {
11         return new Wheel();
12     }
13 }

@Configuration的註解類標識這個類可以使用Spring IoC容器作為bean定義的來源。@Bean註解告訴Spring,一個帶有@Bean的註解方法將返回一個對象,該對象應該被註冊為在Spring應用程序上下文中的bean。

2、@EnableAutoConfiguration:能夠自動配置spring的上下文,試圖猜測和配置你想要的bean類,通常會自動根據你的類路徑和你的bean定義自動配置。

3、@ComponentScan:會自動掃描指定包下的全部標有@Component的類,並註冊成bean,當然包括@Component下的子註解@Service,@Repository,@Controller。

這裏註意:@SpringBootApplication後必須跟掃描包的位置,否則Controller類將不會被映射到地址上,則無法訪問.

新建包,並建立Controller類

技術分享圖片

HelloWorld類為一個控制器類,代碼如下:

 1 package com.myproject.controller;
 2 
 3 import org.springframework.web.bind.annotation.RequestMapping;
 4 import org.springframework.web.bind.annotation.RestController;
 5 
 6 @RestController
 7 public class HelloWorld {
 8     
 9     @RequestMapping("/hello")
10     public String sayHello(){
11         System.out.println("HelloWorld");
12         return "HelloWorld";
13     }
14 }

@RestController註解,該註解表示當前類為一個Controller組件,該註解 = @Controller與@ResponseBody註解的結合.

@responseBody註解的作用是將controller的方法返回的對象通過適當的轉換器轉換為指定的格式之後,寫入到response對象的body區,通常用來返回JSON數據或者是XML數據。

這個註解表示該方法的返回結果直接寫入HTTP response body中,一般在異步獲取數據時使用。

在使用@RequestMapping後,返回值通常解析為跳轉路徑。加上@responsebody後,返回結果直接寫入HTTP response body中,不會被解析為跳轉路徑。比如異步請求,希望響應的結果是json數據,那麽加上@responsebody後,就會直接返回json數據。

至此,一個簡單的springboot項目就搭建好了,訪問http://localhost:8080/hello,在頁面上顯示HelloWorld,並在控制臺打印"HelloWorld".

搭建spring boot項目