springboot 入门一 hello world!

时间:2022-10-14 07:18:07

微服务框架springboot,目的是用来简化新Spring应用的初始搭建以及开发过程。简化的代价,就是约定俗成很多规则,比如默认读取的配置文件名是application.properties 必需在config目录下,启动类的扫描是平级及子目录。springboot并非是现有问题新的解决方案,而是一种为平台开发带来新的体验,简化繁杂的xml等各种变动不大的配置信息,约定优于配置。

Boot对Spring应用的开发进行了简化,提供了模块化方式导入依赖的能力,强调了开发RESTful Web服务的功能并提供了生成可运行jar的能力,这一切都清晰地表明在开发可部署的微服务方面Boot框架是一个强大的工具。

要实现一个url : http://localhost:8080/index  返回字符串:hello world!,

以前的做法:配置web.xml spring-***.xml 再组合tomcat或jetty应用服务器。

spring boot写法(maven项目)

一、pom.xml引用包

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

二、添加controller

@RestController
public class HomeController {
    @RequestMapping("index")
    public String index(){        
        return "hello world!";
    }
}

三、添加启动类

@SpringBootApplication
public class AppBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(AppBootApplication.class, args);
    }
}

四、运行启动类即可

是不是很简化,全程没配置spring相关等xml文件。spring高版本越来越使用注解来代替xml配置。默认内置spring-boot-starter-tomcat应用,默认端口为8080

@RestController是一个封装注解,集合@Controller+@ResponseBody  标识此类所有路由方法返回string

@SpringBootApplication也是一个封装注解,@Configuration  @EnableAutoConfiguration   @ComponentScan

@Configuration  标识类可以使用Spring IoC容器作为bean定义的来源

@EnableAutoConfiguration  能够自动配置spring的上下文,通常会自动根据你的类路径和你的bean定义自动配置。

@ComponentScan  会自动扫描指定包下的全部标有@Component的类,并注册成bean

运行服务有三种方式

1、运行启动类,直接跑main方法

2、命令行中使用  mvn  spring-boot:run

3、可生成单独执行的jar

  在pom.xml添加插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

  然后打成jar包:   mvn package

  执行:  java -jar spring-boot-1.0.0-SNAPSHOT.jar  即可。