SpringBoot快速人门

SpringBoot快速人门

SpringBoot简介

SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化

SpringBoot创建一个helloworld例子

引入相对于的pom.xml的相关的配置信息

 <!--引入一个父项目,类似于引入了一个版本控制器-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <!--
       spring-boot-starter场景启动器
       spring-boot-starter-web帮我们导入了web模块正常所依赖的组件
    -->
    <dependencies>
        <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>

设置引导启动类
其底层来实现的是先实现了数据的加载的过程,其是实现了将主配置文件springBootApplication修饰的所在包及其之包的扫描到spring容器中去

package com.zzuli;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * @author liugang
 * @version 1.0
 * @date 2019/12/13 10:45
 * @SpringBootApplication 表示了一个主程序类,说明这是一个主程序类
 */

/**
 * springConfiguration                     声明这是一个配置类的定义
 * EnableAutoConfiguration                开启自动配置
 * AutoConfigurationPackage               自动扫描其实是将主配置类(springBootApplication修饰的)
 *                                        所在的包及其之包的扫描到Spring容器中
 */

@SpringBootApplication
public class HelloWordMainApplication {
    public static void main(String[] args) {
        //spring应用启动起来
        SpringApplication.run(HelloWordMainApplication.class,args);
    }
    
}

编写对应的springBoot的访问的Controller

package com.zzuli.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author liugang
 * @version 1.0
 * @date 2019/12/13 11:00
 */
@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
        return "hello word";
    }

}

你可能感兴趣的:(分布式和微服务)