zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    2thweek.training.c。链表典型题
    队列—summer training B.
    栈—summertraining#2.A题
    周题:UVa10736题。Foreign Exchange
    UVA_11877.第三次比赛C题:The Coco Cola
    uva10465 Homer Simpson(水题)
    uva348 Optimal Array Multiplication Sequence(DP)
    uva116 Unidirectional TSP(DP)
    uva 607 Scheduling Lectures(DP)
    uva11598 Optimal Segments(DP 求方案)
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/10075960.html
Copyright © 2011-2022 走看看