1、创建mave工程(jar)

   第二章spring boot简单入门-LMLPHP

第二章spring boot简单入门-LMLPHP

2、pom文件引入依赖

    <!--引入父依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
    <dependencies>
        <!--SpringBoot web 组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <!--这个插件,可以将应用打包成一个可执行的jar包 可选-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

spring-boot-starter-parent作用

  在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。

spring-boot-starter-web作用

     springweb 核心组件

spring-boot-maven-plugin作用

    如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven spring-boot:run的话是不需要此配置的。(我在测试的时候,如果不配置下面的plugin也是直接在Main中运行的。)

将这个应用打成jar包,直接使用java -jar的命令进行执行; 

3、编写相关Controller

@RestController
public class HelloConotroller {

    @RequestMapping("/index")
    public String index(){
        return "hell world";
    }
}

4、编写一个主程序;启动Spring Boot应用

/**
 * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
 */
@SpringBootApplication
public class HellStartMain {
    public static void main(String[] args) {
        //spring启动起来
        SpringApplication.run(HellStartMain.class);
    }
}

 5、运行主程序测试

第二章spring boot简单入门-LMLPHP

6、简化部署

<!--这个插件,可以将应用打包成一个可执行的jar包 可选-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
将这个应用打成jar包,直接使用java -jar的命令进行执行;

7、相关注解

    1、 @RestController

              在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口

     2、@EnableAutoConfiguration

           注解:作用在于让 Spring Boot   根据应用所声明的依赖来对 Spring 框架进行自动配置 这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。

             由于spring-boot-starter-web添加了Tomcat和 Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

           @ComponentScan(basePackages = "com.yehui")控制器扫包范围

8、启动方式

        1、 SpringBoot启动方式1

                spring boot默认端口是8080

@RestController
@EnableAutoConfiguration
public class HelloController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
public static void main(String[] args) {
        SpringApplication.run(HelloController.class, args);
    }
}

启动主程序,打开浏览器访问http://localhost:8080/index,可以看到页面输出Hello World

        2、SpringBoot启动方式2

@ComponentScan(basePackages = "com.itmayiedu.controller")---控制器扫包范围

@ComponentScan(basePackages = "com.itmayiedu.controller")
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

       3、SpringBoot启动方式3

@SpringBootApplication

@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。
03-30 08:22