首页 > 编程语言 > 详细

Springboot: 配置传参

时间:2020-05-27 11:29:22      阅读:68      评论:0      收藏:0      [点我收藏+]

因为对springboot知识点掌握的不太牢靠,仅仅处于会用的状态,本着拒绝搬钻的想法,整一本书,快速过一遍基础

配置文件:  /resources/application.properties

server.address=192.168.251.219
server.port=8888

#https://www.bejson.com/convert/unicode_chinese/  汉字需转码

#第一种演示方法,一对一传参,需要在controller方法前调用Value注解调用参数
#传参不支持中文,可以使用在线unicode转汉字网站进行重编译
#unicode转中文网站 https://www.bejson.com/convert/unicode_chinese/ Today.name=\u4eba\u751f\u5f97\u610f\u9700\u5c3d\u6b22\uff0c\u83ab\u4f7f\u91d1\u6a3d\u7a7a\u5bf9\u6708\u3002 Today.value=\u5c11\u5987\u767d\u6d01 #第二种传参方法:
# 第一步:需要在 dao 层定义一个实体类,并在类前添加配置文件注解 @ConfiguretionProperties(prefix="可声明前缀")
# 第二步 :在启动类上添加 EnableConf....注解,激活
# 第三步: 在控制器 添加自动注入注解
# need to hava some Rand count !
#随机字符串
book.value=${random.value}
#随机Int值
book.intValue=${random.int}
#随机Long值
book.longValue=${random.long(200)}
#随机UUID
book.uuid=${random.uuid}
#自定义属性之间的调用
book.title=Book‘s name is ${Today.value}

dao层实体类

package com.example.demo.dao;


import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "book")      //配置文件相关的注解
public class BookConfigBean {
    public int getIntValue() {
        return intValue;
    }

    public void setIntValue(int intValue) {
        this.intValue = intValue;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    private int intValue;
    private String uuid;
}

控制器层

package com.example.demo.controller;

import com.example.demo.dao.BookConfigBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class helloController {
    @Value("${Today.name}")
    // Value 注释从配置文件传值
    private  String name;

    @Value("${Today.value}")
    private  String value ;

    @Value("${book.uuid}")
    private String uuid;

@GetMapping("/test")   //对应紧邻着相邻的文件
public String hello(){
    return uuid+  "______________"+"这里的汉字可以显示————————>"  +name+  value   +"__________________-" ;
}

@Autowired   //自动导入
    private BookConfigBean bookConfigBean;
@GetMapping("/test01")
    public BookConfigBean test01(){
    return bookConfigBean;
}

}

 

启动器层

package com.example.demo;

import com.example.demo.dao.BookConfigBean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

@SpringBootApplication
@EnableConfigurationProperties(BookConfigBean.class)   //引用配置文件的实体类生效
public class DemoApplication {

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

}

 源码见:

链接:https://pan.baidu.com/s/1u5m-5C6QEuNw_v_vf2Tg2g 
提取码:5mme

  

 

当参数使用value调用的时候,就不能使用javaBean对其重复调用

 

Springboot: 配置传参

原文:https://www.cnblogs.com/tangsonghuai/p/12971275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!