2025年java零基础取值

java零基础取值目录 1 一般项目 1 1demo 结构如下 1 2 取值 1 3 测试结果 2 国际化项目 2 1demo 结构 2 2 取值 2 3 测试结果 3 SpringBoot 项目 3 1demo 结构 3 2 取值 3 3 测试结果 4 SpringBoot 项目 yml 文件取值 4 1demo 结构 4 2 取值 4 3 测试结果 总结 1 一般项目 1 1demo 结构如下 1 2 取值 import java io

大家好,我是讯享网,很高兴认识大家。



1.一般项目

1.1demo结构如下

1.2取值

import java.io.InputStream; import java.util.Properties; public class JavaConfigTest { private static final String CONFIG_FILE= "config.properties"; //java jdk提供读取配置文件工具类 private static Properties props=new Properties(); public static void main(String[] args){ String value = getConfigValue("aaa"); System.out.println("配置文件中的值是:"+value); } public static String getConfigValue(String key){ String value=null; try { InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIG_FILE); if(in!=null){ props.load(in); value = props.getProperty(key); in.close(); } }catch (Exception e){ e.printStackTrace(); } return value; } } 
讯享网

1.3测试结果

2.国际化项目

2.1demo结构

java零基础取值

2.2取值

讯享网import java.util.Locale; import java.util.ResourceBundle; public class I18NConfigTest { public static void main(String[] args){ String value = GetI18nConfigValue("ccc"); System.out.println("国际化配置文件中的值是:"+value); } public static String GetI18nConfigValue(String key){ Locale currentLocale = new Locale("en","US"); ResourceBundle bundle = ResourceBundle.getBundle("messages_en", currentLocale); String value = bundle.getString(key); return value; } } 

2.3测试结果

3.SpringBoot项目

3.1demo结构

3.2 取值

springboot项目基于动态代理创建bean,再依赖注入取值

创建bean

package com.example.demo.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component //动态代理 public class SpringBootCongigTest { //配置文件中的key @Value("${sentinel}") private String sentinel; @Value("${aaa}") private String aaa; public String getSentinel() { return sentinel; } public void setSentinel(String sentinel) { this.sentinel = sentinel; } public String getAaa() { return aaa; } public void setAaa(String aaa) { this.aaa = aaa; } } 

springboot单元测试注解需要的依赖:

讯享网<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> 

单元测试,依赖注入

import com.example.demo.DemoApplication; import com.example.demo.config.SpringBootCongigTest; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest(classes = DemoApplication.class) public class TestConfig { @Autowired private SpringBootCongigTest springBootCongigTest; @Test public void testSpringBootConfig(){ String aaa = springBootCongigTest.getAaa(); String sentinel = springBootCongigTest.getSentinel(); System.out.println("配置文件输出的sentinel结果是:"+sentinel); System.out.println("配置文件输出的aaa结果是:"+aaa); } } 

3.3测试结果

4.SpringBoot项目yml文件取值

4.1demo结构

4.2取值

也是分两步,基于注解;动态代理,依赖注入

动态代理:

package com.example.demo.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "redis") public class SpringBootCongigTest { private String sentinel; private String aaa; public String getSentinel() { return sentinel; } public void setSentinel(String sentinel) { this.sentinel = sentinel; } public String getAaa() { return aaa; } public void setAaa(String aaa) { this.aaa = aaa; } } 

依赖注入

import com.example.demo.DemoApplication; import com.example.demo.config.SpringBootCongigTest; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest(classes = DemoApplication.class) public class TestConfig { @Autowired private SpringBootCongigTest springBootCongigTest; @Test public void testSpringBootConfig(){ String aaa = springBootCongigTest.getAaa(); String sentinel = springBootCongigTest.getSentinel(); System.out.println("配置文件输出的sentinel结果是:"+sentinel); System.out.println("配置文件输出的aaa结果是:"+aaa); } } 

4.3测试结果

总结

每个项目只写了一种方法,都是用法层面,没有涉及原理。这些方法都经过测试,拿过去是可以直接使用。从配置文件中取值的方法还有很多,在实现功能的基础上大家可以自己查查资料。

小讯
上一篇 2024-12-28 13:14
下一篇 2024-12-25 21:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/967.html