1. 程式人生 > >SpringBoot(五):自定義屬性獲取

SpringBoot(五):自定義屬性獲取

目錄

一.全域性配置檔案配置屬性
二.獲取單一屬性
三.對映Bean屬性
四.測試

一.全域性配置檔案配置屬性

在src/main/resources目錄下,找到一個名為application-dev.properties的全域性配置檔案,可對一些預設配置的配置值進行修改。
ps:本次目錄結構
這裡寫圖片描述
配置資訊如下

自定義屬性值

server.port=8080

#測試屬性值
yjgithub.name=cyj
yjgithub.email=yigithub@163.com
yjgithub.sex=man

二.獲取單一屬性

建立以下檔案

/com/citydata/config/YjgithubConfig.java


ps:
1.需要加@Component註解
[email protected]("${yjgithub.name}") 獲取到你所需要的對應值

package com.citydata.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @Author yjgithub
 * @Date 2018/5/29
 * @Description  測試配置檔案資訊
 */
@Component
public class YjgithubConfig { // name public static String name; @Value("${yjgithub.name}") public void setName(String $name) { this.name = $name; } }

三.對映Bean屬性

3.1新增依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId
>
spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>

3.2 定義一個bean(YjgithubBean) 匹配你所對應的屬性值

在以下路徑建立該bean

/com/citydata/bean/YjgithubConfig.java


ps:
1.需要加@ConfigurationProperties(prefix="yjgithub") 註解匹配上配置檔案中的屬性值

package com.citydata.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * Created by yjgithub on 2018/5/29.
 * name
 * email
 * sex
 */
@ConfigurationProperties(prefix="yjgithub")
public class YjgithubBean {
    private String name;
    private String email;
    private String sex;

    @Override
    public String toString() {
        return "yjgithub{" +
                "name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }

    public YjgithubBean(String name, String email, String sex) {
        this.name = name;
        this.email = email;
        this.sex = sex;
    }

    public YjgithubBean() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

3.3在啟動類(CitydataApplication)中加入該bean

ps:
@EnableConfigurationProperties({YjgithubBean.class})

package com.citydata;

import com.citydata.bean.YjgithubBean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

@EnableConfigurationProperties({YjgithubBean.class})
@SpringBootApplication
public class CitydataApplication {

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

四.測試

4.1 編寫測試類(service,impl,TestController)

service

package com.citydata.service;

import com.citydata.response.ReturnData;

/**
 *
 * Created by yjgithub on 2018/5/28.
 */
public interface TestService {
    public ReturnData test(String str);
    public ReturnData exception();
    public ReturnData getSingleValue();
    public ReturnData getBeanValue();
}

impl

package com.citydata.service.impl;

import com.citydata.bean.YjgithubBean;
import com.citydata.config.YjgithubConfig;
import com.citydata.constant.ResponseCode;
import com.citydata.response.ReturnData;
import com.citydata.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by yjgithub on 2018/5/28.
 */
@Service
public class TestImpl implements TestService {
    @Override
    public ReturnData test(String str) {
        ReturnData rd = new ReturnData(ResponseCode.OPERATION_SUCCESS.getStatus(),ResponseCode.OPERATION_SUCCESS.getMsg(),str);
        return rd;
    }

    @Override
    public ReturnData exception() {
        int[] arr = {1,2,3};
        System.out.println(arr[4]);
        ReturnData rd = new ReturnData(ResponseCode.OPERATION_SUCCESS.getStatus(),ResponseCode.OPERATION_SUCCESS.getMsg());
        return rd;
    }

    @Override
    public ReturnData getSingleValue() {
        String name = YjgithubConfig.name;
        ReturnData rd = new ReturnData(ResponseCode.OPERATION_SUCCESS.getStatus(),ResponseCode.OPERATION_SUCCESS.getMsg(),"獲取單一屬性name:"+name);
        return rd;
    }


    @Autowired
    private YjgithubBean yjgithubBean;
    @Override
    public ReturnData getBeanValue() {
        String allInfo = yjgithubBean.toString();
        ReturnData rd = new ReturnData(ResponseCode.OPERATION_SUCCESS.getStatus(),ResponseCode.OPERATION_SUCCESS.getMsg(),"獲取全部屬性:"+allInfo);
        return rd;
    }
}

TestController

package com.citydata.controller;

import com.citydata.response.ReturnData;
import com.citydata.service.impl.TestImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by yjgithub on 2018/5/28.
 */
@RestController
@RequestMapping("test")
public class TestController {
    @Autowired
    TestImpl testService;

    @RequestMapping("/index")
    public ReturnData index(String Str) {
        return testService.test(Str);
    }

    @RequestMapping("/exception")
    public ReturnData exception() {
        return testService.exception();
    }

    @RequestMapping("/singleValue")
    public ReturnData singleValue() {
        return testService.getSingleValue();
    }

    @RequestMapping("/beanValue")
    public ReturnData beanValue() {
        return testService.getBeanValue();
    }
}

4.2 訪問資料
單一資料:
這裡寫圖片描述

全部資料:
這裡寫圖片描述

到此測試成功!

PS:需要專案原始碼,請郵件[email protected]聯絡

相關推薦

SpringBoot()定義屬性獲取

目錄 一.全域性配置檔案配置屬性 二.獲取單一屬性 三.對映Bean屬性 四.測試 一.全域性配置檔案配置屬性 在src/main/resources目錄下,找到一個名為application-dev.properties的全域性配置檔案,可

Spring Security教程()定義過濾器從資料庫從獲取資源資訊

  在之前的幾篇security教程中,資源和所對應的許可權都是在xml中進行配置的,也就在http標籤中配置intercept-url,試想要是配置的物件不多,那還好,但是平常實際開發中都往往是非常多的資源和許可權對應,而且寫在配置檔案裡面寫改起來還得該原始碼配置檔案,這顯然是不好的。因此接下來

Spring Boot 配置檔案詳解定義屬性、隨機數、多環境配置等

相信很多人選擇Spring Boot主要是考慮到它既能兼顧Spring的強大功能,還能實現快速開發的便捷。我們在Spring Boot使用過程中,最直觀的感受就是沒有了原來自己整合Spring應用時繁多的XML配置內容,替代它的是在pom.xml中引入模組化的Starter POMs,其中各個模組都有自己的預

Netty4.0學習筆記系列之定義通訊協議

實現的原理是通過Encoder把java物件轉換成ByteBuf流進行傳輸,通過Decoder把ByteBuf轉換成java物件進行處理,處理邏輯如下圖所示: 傳輸的Java bean為Person: package com.guowl.testobjcoder

javascript根據元素定義屬性獲取元素,操作元素

function getElementByAttr(tag,attr,value) { var aElements=document.getElementsByTagName(tag); var aEle=[]; for(var

初學spring-boot遇到的定義屬性獲取問題

遇到如下一些問題:(springboot-1.5.14) 1.自己建立的包一定要在啟動入口類***Application.java包下,這樣@EnableAutoConfiguration註解才會自動掃描package,建立Beans 2.

初識Haskell 定義數據類型和類型類

context ima 轉換 ext 定義類 初識 ask spa text 對Discrete Mathematics Using a Computer的第一章Introduction to Haskell進行總結。環境Windows 自定義數據類型 data type

springboot(十三)定義springmvc過濾器

1.建立LoginFilter類  implements HandlerInterceptor,並吧該類交給spring管理@Component package com.nn.filter; import java.io.PrintWriter; import j

標籤定義屬性,獲取和操作的方法封裝以及在此基礎上對標籤原有屬性的擴充套件...

按照慣例,上程式碼,並不斷完善中.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>

springboot controller物件屬性轉換定義json訊息處理器

背景 我們後端寫介面的時候可能會碰到屬性欄位轉換的情況,比如user_name轉成userName,這個時候手動寫get set肯定很不方便,這個時候註解神器就可以用了,常用的有兩種JSONField與JsonProperty。 具體使用 JSONField與JsonProp

SpringBoot入門(二)日誌及定義屬性

這一章主要說springboot中日誌的配置、自定義屬性的配置與讀取、分環境的yml配置檔案(如本地環境、測試環境、生產環境等)。比較偏向實際開發,較為實用,前面一章的一些基本建立在這裡就不多廢話了。 1. springboot的日誌配置   在我們專案實際開發中,日誌是不可或缺的。只有巧用日誌才能快速發

分針網——每日分享CSS 定義屬性API 篇

css JQuery是一個非常優秀的js庫。 選擇元素 $( )裏可以填css選擇器 $(’.demo’).

jquery獲取定義屬性的值

取值 知識庫 rep -name bsp class tar itl jquery //獲取屬性值 1 <div id="text" value="黑噠噠的盟友"><div> jQuery取值: $("#text").attr("value");

Zabbix(三)高級應用之--展示、模版、定義屬性測試實例

zabbixZabbix的高級應用1.展示接口: (1)graph: simple graph:每個Item對應的展示圖形; custom graph:創建一個融合了多個simple graph的單個graph; (2)screen: 把多個custom graph整合於一個屏幕進行展示; (3)

springboot 定義屬性

artifact 正常 進行 fix framework 美的 是我 setter autowire 前言 spring boot使用application.properties默認了很多配置。但需要自己添加一些配置的時候,我們如何添加呢 1.添加自定義屬性 在src/ma

獲取定義屬性的值

js獲取自定義屬性的值在js中有3種常見的方法:獲取自定義屬性的值

Android項目實戰(十定義不可滑動的ListView和GridView

con app lis androi color max XP xtend exp 原文:Android項目實戰(十五):自定義不可滑動的ListView和GridView不可滑動的ListView (RecyclweView類似) public class NoSc

從零開始學 Web 之 HTML5(二)表單,多媒體新增內容,新增獲取操作元素,定義屬性

器) user 對比 style 按鈕 ont mp3 url -- 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht

關於jQuery獲取html標簽定義屬性值或data值

自定義屬性 標簽 定義 .data 獲取 div val data 屬性 //獲取屬性值<div id="id1" value="優秀" ></div>jQuery取值:$("#id1").attr("value"); //獲取自定義屬性值&l

springboot定義屬性以及亂碼三

自定義屬性的使用(讀取配置檔案,在專案啟動的時候根據@Value去配置檔案中獲取屬性) 在建好的springboot專案properties屬性中自定義屬性,如下: 通過@Value獲取自定義屬性 @Value("${name}") 啟動專案: