springboot学习(一):初识SpringBoot(入门篇)

什么是SpringBoot?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

简单的说,spring boot就是整合了很多优秀的框架,不用我们自己手动的去写一堆xml配置然后进行配置。(想想之前spring,springmvc。。一推的的东西要配置。springboot简直不要太好)

springboot学习(一):初识SpringBoot(入门篇)_第1张图片

 

创建SpringBoot项目

(一)File-New-Other创建maven项目:

springboot学习(一):初识SpringBoot(入门篇)_第2张图片

(二)注意勾选create a simple project(skip archetype selection)//创建一个简单的项目跳过原型选择

springboot学习(一):初识SpringBoot(入门篇)_第3张图片

(三)groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。

Group Id :公司名称,groupId一般分为多个段,常用的为两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。

 

Artifact Id : 项目的名称

 

Version:版本号,GroupId+ArtifactId+Packaging+Version构成项目的唯一标识。

 

Packaging:打包类型,jar/war/rar/ear/pom等,选择jar。

 

Compiler Level : 选择jdk版本

 

springboot学习(一):初识SpringBoot(入门篇)_第4张图片

 

(四)点击finish,项目目录结构

Src/main/java。编写代码存放的目录。

Src/main/resources。资源文件存放目录。

Src/test/java。测试代码存放目录。

springboot学习(一):初识SpringBoot(入门篇)_第5张图片

(五)配置pom.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

<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.0modelVersion>

    <groupId>cn.zjhuiwangroupId>

    <artifactId>SpringBootDemoartifactId>

    <version>0.0.1-SNAPSHOTversion>

 

    <parent>

        

        <groupId>org.springframework.bootgroupId>

        <artifactId>spring-boot-starter-parentartifactId>

        <version>1.5.6.RELEASEversion>

    parent>

    <dependencies>

        

        <dependency>

            <groupId>org.springframework.bootgroupId>

            <artifactId>spring-boot-starter-webartifactId>

        dependency>

        

        <dependency>

            <groupId>org.springframework.bootgroupId>

            <artifactId>spring-boot-starterartifactId>

        dependency>

        <dependency>

            <groupId>org.springframework.bootgroupId>

            <artifactId>spring-boot-starter-testartifactId>

        dependency>

        

        <dependency>

            <groupId>org.springframework.bootgroupId>

            <artifactId>spring-boot-devtoolsartifactId>

        dependency>

    dependencies>

 

    <build>

        <plugins>

            <plugin>

                <artifactId>maven-compiler-pluginartifactId>

                <configuration>

                    <source>1.8source>

                    <target>1.8target>

                configuration>

            plugin>

            

            

            <plugin>

                <groupId>org.springframework.bootgroupId>

                <artifactId>spring-boot-maven-pluginartifactId>

            plugin>

 

        plugins>

    build>

project>

 

注意:在配完后我的pom.xml中的parent位置报红x,是因为jar包下不下来。

解决办法是修改maven的settings.xml配置文件。注释mirror修改如下:

1

2

3

4

5

6

<mirror>

      <id>mirrorIdid>

      <mirrorOf>centralmirrorOf>

      <name>Human Readable Name for this Mirror.name>

      <url>http://central.maven.org/maven2/url>

    mirror>

 

修改完保存,右击项目maven-update object。更新完jar包再把settings修改的还原。

 

(六)编写启动类:两种写法。

 

   方法1:Application类+controller类 (注意Application类放到controller层)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

 

/**

 * 注解@SpringBootApplication指定项目为springboot,由此类当作程序入口,自动装配 web 依赖的环境;

 

 * @author admin

 

 */

@SpringBootApplication

public class Application {

    // 在main方法中启动一个应用,即:这个应用的入口

    public static void main(String[] args) {

        SpringApplication.run(Application.class, args);

    }

}

1

2

3

4

5

6

7

8

9

10

11

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

 

@RestController // 是spring4里的新注解,是@ResponseBody和@Controller的缩写

public class SpringBootDemoController {

    @RequestMapping("/hello")

    public String hello() {

        return "HELLO SpringBoot! 这是一个springboot的demo";

    }

 

}

@RestController的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!

方法2:在controller层

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

import org.springframework.boot.SpringApplication;  

import org.springframework.boot.autoconfigure.SpringBootApplication;  

import org.springframework.stereotype.Controller;  

import org.springframework.web.bind.annotation.RequestMapping;  

import org.springframework.web.bind.annotation.ResponseBody;  

   

@SpringBootApplication // Spring Boot项目的核心注解,主要目的是开启自动配置  

@Controller // 标明这是一个SpringMVC的Controller控制器  

public class HelloApplication {  

   

    @RequestMapping("/hello")  

    @ResponseBody  

    public String hello() {  

        return "hello world";  

    }  

   

    // 在main方法中启动一个应用,即:这个应用的入口  

    public static void main(String[] args) {  

        SpringApplication.run(HelloApplication.class, args);  

    }  

   

}

 

(七) 启动:两种方法启动方法一样:右键run as ——spring boot app 执行main函数,成功启动如下:

 

springboot学习(一):初识SpringBoot(入门篇)_第6张图片

 

浏览器访问

springboot学习(一):初识SpringBoot(入门篇)_第7张图片

 

注意:访问不需要加项目名。如需加项目名需配置:后面再试。

SpringMVC的运行方式是将打成的war包放到tomcat中运行,这种情况下访问需要在url中加入项目名。SpringBoot同样可以打成war包部署,但也提供了另一种方式:直接执行public static void main()函数并启动一个内嵌的应用服务器(取决于类路径上的依赖是Tomcat还是jetty)来处理应用请求,这时是不需要添加项目名的。

 

总结:

使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。

你可能感兴趣的:(java)