SpringBoot学习笔记 之 Day1 SpringBoot快速入门

SpringBoot快速入门

https://spring.io/

1. SpringBoot简介
Spring Boot来简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的、产品级别的应用。
背景:
J2EE笨重的开发、繁多的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大。
解决:
Spring 全家桶 时代
Spring Boot ——> J2EE一站式解决方案
Spring Cloud ——> 分布式整体解决方案
优点:
快速创建独立的Spring应用程序以及与主流框架集成
直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
提供自己的’入门’POM来简化你的Maven配置(starters自动依赖与版本控制)
尽可能自动配置Spring,简化开发,也可修改默认值
提供生产就绪功能,如指标,运行状况检查和外部配置
绝对不会生成代码,并且不需要XML配置
与云计算的天然集成
学习SpringBoot之前需要熟悉Spring Framework框架,最好熟悉Spring的注解驱动开发

 

2. 学习springboot,用什么开发工具

传统的用eclipse需要下载sts插件

下载springboot官方推荐的开发工具,sts, 和eclipse长得差不多

用现在比较流行的IntelliJ IDEA 开发工具

 

 

 

一个简单的例子

创建一个项目,

 

pom.xml 中需要加入:

 

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>


新建一个HelloController
@RestController     //等同于同时加上了@Controller和@ResponseBody
public class HelloController {

    //访问/hello或者/hi任何一个地址,都会返回一样的结果
    @RequestMapping(value = {"/hello","/hi"},method = RequestMethod.GET)
    public String say(){
        return "hi you!!!";
    }
}

  

 

起始应用,由于我创建的时候,选择spring project,起始类和pom中spring的父依赖,都是自动生成的。o(∩_∩)o 

Demoday01Application

@SpringBootApplication
public class Demoday01Application {

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

  



启动这个main函数,查看日志,可以看到端口号,根目录等信息。

打开浏览器,出现如下,服务算是成功启动起来了


 

 

 

测试一下,下午再来

 新增POM中的测试需要的依赖

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
@RunWith(SpringRunner.class)
@SpringBootTest
public class Demoday01ApplicationTests {


    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(("gogogo")));
    }


    @Test
    public void getHello02() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andDo(MockMvcResultHandlers.print())
                .andReturn();
    }

}

  

 

代码保存到了   删除了,太简单啦,不用代码

 

试一下配置文件

 SpringBoot使用二种全局的配置文件,配置文件名是固定的:

 

application.properties
application.yml

 

配置文件的作用:修改SpringBoot自动配置的默认值

 

 

 

application.properties的Sample:
person.last-name=张三
person.age=18
person.birth=2018/01/01
person.boss=false
person.maps.k1=v1
person.maps.k2=v2
person.lists=a,b,c
person.dog.name=小狗
person.dog.age=2

 

 

 

 

 

application.yml
*.yml是YAML语法编写的配置文件

 

 YAML简介及语法
YAML(YAML Ain’t Markup Language)

 

YAML A Markup Language:是一个标记语言

 

YAML isn't Markup Language:不是一个标记语言;

 

标记语言:

 

以前的配置文件;大多都使用的是 *.xml文件

 

YAML:以数据为中心,比json、xml等更适合做配置文件

YAML语法
key: value:表示一对键值对(:后必须有空格) 
YAML以空格的缩进来控制层级关系,只要左对齐的一列数据都是同一层级,同时对大小写敏感

 

层级关系很重要,以及: 之后要有空格

server:
  port: 8090
  error:
  path: /error
  spring:
  aop:
  auto: true

 

posted @ 2018-12-24 11:55  巴黎爱工作  阅读(213)  评论(0编辑  收藏  举报