zoukankan      html  css  js  c++  java
  • SpringBoot-学习笔记

    启动方式

    运行main方法

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

    使用mvn启动

    进图项目目录,使用以下命令启动,要求配置好环境变量

      mvn spring-boot:run
    

    编译成jar启动

    编译生成Jar包的方式,首先使用mvn命令编译

    mvn install
    

    编译完成之后,当出现如下提示的时候代表编译完成

    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 6.868 s
    [INFO] Finished at: 2017-12-26T19:41:08+08:00
    [INFO] Final Memory: 24M/292M
    [INFO] ------------------------------------------------------------------------
    
    

    然后进入 c'ltarget目录,会发现新增了jar文件,使用java命令运行此项目即可

    cd target/
    java -jar boot-0.0.1-SNAPSHOT.jar
    

    属性配置

    项目的配置文件位于src/main/resources/application.properties

    修改项目启动端口等

    在配置中使用application.properties文件进行配置即可。

    #修改启动的端口号
    server.port=9090
    
    #启动的环境,类似于在URL前加上前缀
    server.context-path=/boot
    

    读取配置文件的信息

    比如我们的配置文件如下所示

    # 代码中引用配置文件
    framwork=SpringBoot
    startDate=2017-12-12
    peopleNum=123
    

    那么我们在代码中使用注解的方式开始拿到数据

        @Value("${framwork}")
        private String framwork;
    
        @Value("${startDate}")
        private String startDate;
    
        @Value("${peopleNum}")
        private Integer peopleNum;
    
    
        @RequestMapping(value = "/say",method = RequestMethod.GET)
        public String sayHello(){
            System.out.println(framwork);
            System.out.println(startDate);
            System.out.println(peopleNum);
            return "Hello,"+framwork;
        }
    

    或者使用@ConfigurationProperties(prefix = "xxx")和@Component 注解来封装称实体类,其中prefix指的是前缀,然后在需要使用的地方使用 @Autowired即可完成注入。

    配置文件中引用配置

    在配置文件使用${}可以引用其他属性

    # 在配置文件中引用配置文件参数
    content="frameWord = ${framwork} , startDate = ${startDate} ,peopleNum = ${peopleNum}}"
    

    多配置文件

    在application.properties同级目录下创建两个文件application-dev.properties和application-prod.properties这样可以区分开发环境和真实环境,在application.Properties中开始引用文件即可指定运行环境。

    #指的是开发环境
    spring.profiles.active=dev
    #或者如下,指的是真实环境
    spring.profiles.active=prod
    

    或者使用mvn install的方式生成jar包,在使用 java -jar ***.jar的过程中添加参数,来指定运行环境

     --spring.profiles.active=dev
    

    Controlle相关注解

    相关注解说明

    注解名称 说明
    @RestController Spring4的新注解,配合@ResponseBody返回JSON数据
    @RequestMapping 映射URL地址
    @Controller 处理Http请求

    Controll的使用规则

    假如有如下代码使用@Controller注解

    @Controller
    public class IndexController {
        
        @RequestMapping(value = "/say",method = RequestMethod.GET)
        public String sayHello(){
            return "Hello,FrameWord!";
        }
    }
    

    此时访问系统会报出如下404

    This application has no explicit mapping for /error, so you are seeing this as a fallback.
    
    Tue Dec 26 20:26:06 CST 2017
    There was an unexpected error (type=Not Found, status=404).
    

    这说明使用Controll注解需要配合模板来使用,这里不做过多的阐述,详细的内容可以参考CSDN博客这个博客,里面做了比较详细的说明。这种情况,如果需要返回json数据的话,可配置@ResponseBody注解即可完成返回JSON的需要。

    多URL指向同一个方法

    这里在配置@RequestMapping的时候,value参数可以传入一个集合,如下所示,即可做到多路径指向同一个结果

    @RequestMapping(value = {"/say","sayHello"},method = RequestMethod.GET)
    

    获取接口中的参数

    注解名称 说明
    @PathVariable("name") 获取URL中的参数,如/say/{name}
    @RequestParam("name")) 获取GET或者POST等请求的参数
    @GetMapping(value = "") 组合注解相当于RequestParam并设置method=GET
    @PostMapping(value = "") 组合注解相当于RequestParam并设置method=POST
    @PutMapping(value = "") 组合注解相当于RequestParam并设置method=PUT
    @DeleteMapping(value = "") 组合注解相当于RequestParam并设置method=DELETE
    .... ....

    RequestParam设置参数的默认值和设置是否必传

    @RequestParam(value =  "name",required = false,defaultValue = "周涛") String name
    
  • 相关阅读:
    司徒正美--前端招聘与前端卖身的困境
    解密中国互联网
    将网页设置为允许 XMLHttpRequest 跨域访问
    window.location.hash属性介绍
    解密中国互联网
    javascript多种继承方式(函数式,浅复制,深复制,函数绑定和借用)
    javascript类式继承函数最优版
    javascript类式继承最优版
    javascript数组去重
    查找字符串中出现最多的字符和个数?
  • 原文地址:https://www.cnblogs.com/zhoutao825638/p/10382033.html
Copyright © 2011-2022 走看看