• SpringBoot


    1、什么是SpringBoot?

        springboot是对spring的缺点进行改善和优化,约定大于配置   开箱即用,没有代码的生成,也无需xml文件配置,可以修改属性值来满足需求。

        springboot是替代spring的,故而通常不会一起使用。

        作用:可以将SpringBoot工程打成一个jar包,在其他工程中使用(相当于框架)其中的静态资源等。

    2、入门程序

      对于springboot这个框架而言,它有自己的主启动类(DemoApplication.java),而框架默认的自定义类所在位置是在主启动类的子类(子类:它的子侄一类,同级目录下一级)。

      如图中标红的位置:

    package com.offcn.demo.Controller;
    @RestController//这个注解说的是@Controller+@ResponseBody
    public class TestController {
        @RequestMapping("/test/{id}")
        public Car getCar(@PathVariable("id") Integer id, @RequestParam("name") String name){
            Car c = new Car(id, name, 100000, new Date());
            return c;
        }
    }

    3、基本Web应用开发

       3.1对于json格式的支持

          这里需要介绍一个插件Lomlok,它就是springboot对于json格式的支持手段。

           使用3步骤:

          1、依赖 

    <dependency>
            <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            <version>1.18.6</version>
    </dependency>

          2、安装插件Lomlok

          在File->setting->Plugins中搜索lomLok安装

          3、运用于pojo对象/实体类

          相关注解:

             @Data  是@Setter+@Getter+@ToString

             @AllArgsConstructor  全参构造器

             @NoArgsConstructor  无参构造器

          4、如普通的pojo对象般使用

        3.2SpringBoot请求时传递参数

          和spring一致,路径传参和携带数据(?)。

        3.3静态资源存放

          SpringBoot提供了三个静态资源文件夹:

          1、static是在创建springBoot工程时自带的静态资源文件夹。

          2、public可以自己创建也不需要设置它。

          3、META-INF/resources与public相似

          4、自定义静态资源类,两种方式。

            4.1创建一个配置类,SpringBoot提供了自定义配置类。

              @Configuration,并实现WebMvcConfigurer的则是配置类。

              其中addResourceHandlers方法是增加一个资源路径。

              regisry.addResourceHandler("/访问时的路径/**").addResourceLocation("classpath:内部的文件夹/file:磁盘路径");

    registry.addResourceHandler("/webJars/**").addResourceLocations("classpath:META-INF/resources/webJars/");自定义了一个内部的文件夹为静态资源文件夹。
     registry.addResourceHandler("/webJars/**").addResourceLocations("file:E:\\**\\");这是自定义了一个磁盘路径为内部资源文件夹。

              将一个文件夹设置为资源文件夹。

             4.2在配置文件中application.properties中配置

              

    web.upload-path=D:/springboot/pic/
    spring.mvc.static-path-pattern=/**
    spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,
     classpath:/static/,classpath:/public/,file:${web.upload-path}

        3.4WebJars

          作用:就是打包SpringBoot工程。

          3.4.1WebJars结构

          静态文件存放规则:META-INF/resources/webjars/${name}/${version}

          3.4.2WebJars应用

            前期准备需要将META-INF/resources/webjars/的目录设置为资源路径。install命令打包该工程,并放入本地仓库。

            如何在其他的工程中使用:

            1、导入依赖

    <dependency>
             <groupId>com.offcn</groupId>
             <artifactId>Webjars-Demo</artifactId>
             <version>1.0</version>
        </dependency>

            2、在该工程需要使用时的路径是前期设置的访问路径。

    4、SpringBoot属性配置

      4.1它是可以配置一些属性的

        修改配置文件application.properties后缀名为yml,可以在其中配置一些参数信息。通过@Value("${属性名}")注解即可。

        

    application.yml配置文件中,在其中键值对之间有冒号和一个空格。
    server:
       port: 8888
       servlet:
          context-path: /java001
    重启项目,此时的端口号就是8888,项目名称是/java001

      4.2自定义属性及读取

        

    #我们可以在application.yml文件中,配置一些常量或者其他参数配置。读取的时候通过Spring的@Value(“${属性名}”)注解即可。
    #配置文件:
    offcn_ip:
             1.1.1.1
    offcn_port:
               9999
    //Controller层
    @Value("${offcn_ip}")    
    private String offcn_ip;
    @Value("${offcn_port}")
    private String offcn_port;
    #还可以自定义的pojo对象:
    userbody:
       name: xxx
       password: 123456
       birthday: 1992.10.28
    创建一个对应的实体类,并且在@ConfigurationProperties(prefix="userbody")
    @RestController
    @EnableConfigurationProperties({UserBody.class})
    public class HelloControllerBean {
        @Autowired
            UserBody userbody;

  • 相关阅读:
    立 Flag
    ASP.NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库
    C# Xamarin 数据绑定入门基础
    C# HttpClient 请求认证、数据传输笔记
    【PHP篇】输出方法
    【PHP篇】变量与常量
    C语言小笔记
    树莓派GPIO口的使用
    树莓派连接不上WiFi
    OLED屏幕详细使用(CC2530 & 51)
  • 原文地址:https://www.cnblogs.com/xueziyeya/p/11801350.html
Copyright © 2020-2023  润新知