`
wiselyman
  • 浏览: 2094302 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
Group-logo
点睛Spring4.1
浏览量:82372
74ae1471-94c5-3ae2-b227-779326b57435
点睛Spring MVC4...
浏览量:130814
社区版块
存档分类
最新评论

Spring Boot使用自定义的properties

 
阅读更多

      spring boot使用application.properties默认了很多配置。但需要自己添加一些配置的时候,我们应该怎么做呢。

 

若继续在application.properties中添加

如:

 

wisely2.name=wyf2
wisely2.gender=male2

 

定义配置类:

@ConfigurationProperties(prefix = "wisely2")
public class Wisely2Settings {
	private String name;
	private String gender;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}

}

 

若新用新的配置文件

如我新建一个wisely.properties

wisely.name=wangyunfei
wisely.gender=male

 需定义如下配置类

 

@ConfigurationProperties(prefix = "wisely",locations = "classpath:config/wisely.properties")
public class WiselySettings {
	private String name;
	private String gender;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}

}

 

 

最后注意在spring Boot入口类加上@EnableConfigurationProperties

@SpringBootApplication
@EnableConfigurationProperties({WiselySettings.class,Wisely2Settings.class})
public class DemoApplication {

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

  

 使用定义的properties

在别的bean中可直接注入

@Controller
public class TestController {
	@Autowired
	WiselySettings wiselySettings;
	@Autowired
	Wisely2Settings wisely2Settings;

	@RequestMapping("/test")
	public @ResponseBody String test(){
		System.out.println(wiselySettings.getGender()+"---"+wiselySettings.getName());
		System.out.println(wisely2Settings.getGender()+"==="+wisely2Settings.getGender());
		return "ok";
	} 
}

 

新书推荐《JavaEE开发的颠覆者: Spring Boot实战》,涵盖Spring 4.x、Spring MVC 4.x、Spring Boot企业开发实战。

 

京东地址:http://item.jd.com/11894632.html

当当地址:http://product.dangdang.com/23926195.html

亚马逊地址:http://www.amazon.cn/图书/dp/B01D5ZBFUK/ref=zg_bsnr_663834051_6 

淘宝地址:https://item.taobao.com/item.htm?id=528426235744&ns=1&abbucket=8#detail

 

 

 

或自己在京东、淘宝、亚马逊、当当、互动出版社搜索自选。

 


6
2
分享到:
评论
16 楼 yangjianzhouctgu 2018-05-24  
汪老师,你好,我想就spring boot测试方面的问题请教一下您:一个好的测试用例应该是可以在任何时候的都可以执行成功的,对执行结果有直接影响的就是测试上下文了,在spring boot之前(applicationContext.xml时),unitils可以用来准备测试前的数据,测试后回归掉,这就保证了一个测试用例可以在任何时候都可以执行成功。请问您一下,spring boot的测试是怎么保证这一点的呢?目前有这样的测试工具吗?我在网上看见有spring-test-dbunit这个工具,但是它提供的功能与unitils的功能相差较远。谢谢您
15 楼 yxzkm 2017-05-09  
汪老师,你好!
我的springboot项目中有一个拦截器,我想在拦截器中注入参数类,但是总是无法注入,报空指针,请看下面的代码:

@ComponentScan("com.abc")
@EnableScheduling
@EnableAutoConfiguration
@EnableConfigurationProperties({GlobalSettings.class}) 
public class MyProject extends WebMvcConfigurerAdapter{
    @Bean
    public UserSecurityInterceptor getMyInterceptor(){
        return new UserSecurityInterceptor();
    }
    public void addInterceptors(InterceptorRegistry registry) {
        UserSecurityInterceptor()).addPathPatterns("/my**");
        registry.addInterceptor(getMyInterceptor()).addPathPatterns("/my**");
        super.addInterceptors(registry);
    }
    ......
}

@Component
public class UserSecurityInterceptor implements HandlerInterceptor {
    @Autowired 
    GlobalSettings globalSettings; 

    public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {

    System.out.println("这里报空指针:"+globalSettings.getAppName());


请问这是什么原因造成的呢? springboot加载bean的时候,有顺序要求吗?
谢谢!

14 楼 werin 2017-05-09  
18940818955 写道
locations 这个属性没了?


看看这个文章http://fabiomaffioletti.me/blog/2017/02/09/spring-configuration-properties-locations-deprecation-another-approach/
13 楼 werin 2017-05-09  
18940818955 写道
locations 这个属性没了?

我也发现没了,这可如何是好
12 楼 18940818955 2017-02-07  
locations 这个属性没了?
11 楼 di1984HIT 2017-02-02  
太麻烦了。。。。。  
10 楼 chengxuetao 2017-01-09  
按照书中第五章例子,启动之后不能访问页面,启动日志报
Cannot determine embedded database driver class for database type NONE
请问这个是哪里没有配置吗
我是用的版本为1.4.3.RELEASE
9 楼 pg_guo 2017-01-03  
请问我在拦截器中定义一个
@Autowired 
WiselySettings wiselySettings;
为什么是null呢,需要什么配置吗?谢谢
8 楼 k19421 2016-11-30  
荆人七十 写道
如果我有一个配置类和多个格式相同内容不同的配置文件,我想根据这几个配置文件生成几个不同的配置类实例,用注解应该怎么做?

找到了
定义好类
public class DataConfig {
private String url;
private String driverClassName;
private String username;
private String password;
private Tomcat tomcat;
        ...getter and setter...
}

在配置类里面定义
@Configuration
public class PropertiesConfTest {
@Bean(name="edmsDataConfig")
@ConfigurationProperties(prefix = "datasource.edms")
public DataConfig edmsDataConfig(){
return new DataConfig();
}

@Bean(name="uicDataConfig")
@ConfigurationProperties(prefix = "datasource.uic")
public DataConfig uicDataConfig(){
return new DataConfig();
}
}
7 楼 k19421 2016-11-30  
荆人七十 写道
如果我有一个配置类和多个格式相同内容不同的配置文件,我想根据这几个配置文件生成几个不同的配置类实例,用注解应该怎么做?

我也有这个问题,不知道怎么处理
6 楼 荆人七十 2016-09-23  
如果我有一个配置类和多个格式相同内容不同的配置文件,我想根据这几个配置文件生成几个不同的配置类实例,用注解应该怎么做?
5 楼 sk815 2016-08-12  
您好,看到你书上security的部分 页面有个hasRole(‘ROLE_ADMIN’)方法判断用户角色 但是为什么换了个名称就不起作用了呢 比如 hasRole('sys_admin') 就无效
4 楼 wiselyman 2016-08-05  
ilyyhb 写道
你书里的源代码在哪下载啊?

http://www.broadview.com.cn/?#book/bookdetail/bookDetailAll.jsp?book_id=b47a1c54-5747-4628-b3e2-b8bc4899a97e&isbn=978-7-121-28208-9
3 楼 ilyyhb 2016-08-02  
你书里的源代码在哪下载啊?
2 楼 qianjh 2016-07-12  
同楼上,我也合肥的。
1 楼 happynewplay 2016-07-07  
刚买的你的书。。难得的好书,顺便说一句我也是合肥的

相关推荐

    详解spring boot 使用application.properties 进行外部配置

    使用application.properties 进行外部配置的 Spring Boot 知识点详解 Spring Boot 框架提供了多种方式来进行外部配置,今天我们将详细讲解使用 application.properties 文件来进行外部配置的方法。application....

    spring boot微服务自定义starter原理详解

    Spring Boot 微服务自定义 Starter 原理详解 Spring Boot 微服务自定义 Starter 是指在 Spring Boot 应用程序中,通过自定义 Starter 来实现微服务架构的自动配置和 Bean 的依赖注入。在本文中,我们将详细介绍 ...

    从零开始学Spring Boot

    1.28 Spring Boot使用自定义的properties 1.29 改变自动扫描的包 1.30 Spring Boot Junit单元测试 1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖...

    Spring Boot自定义配置属性源(PropertySource)

    Spring Boot默认支持多种配置文件,如`application.properties`和`application.yml`,但有时我们需要从自定义位置或采用自定义格式加载配置。这时,`@PropertySource`注解就派上用场了。这个注解可以用来指示Spring...

    Spring Boot整合Spring Batch,实现批处理

    在Java开发领域,Spring Boot和Spring Batch的整合是构建高效...通过学习和实践这个示例,你不仅可以掌握如何在Spring Boot中使用Spring Batch,还能了解批处理的最佳实践,这对于处理大数据量的应用场景非常有价值。

    spring-boot自定义starter的源码示例

    在Spring Boot生态系统中,自定义Starter是一种强大的方式来封装和重用代码,使得其他开发者可以轻松地在他们的项目中引入特定的功能或服务。本文将深入探讨如何通过源码分析来创建一个自定义的Spring Boot Starter...

    Spring Boot 学习笔记完整教程.pdf

    Spring Boot 允许开发者使用自定义的 properties 文件来配置应用的环境变量和配置项,使得不同环境下的配置可以灵活调整。 #### 8. 构建工具和插件支持 Spring Boot 可以很好地与 Maven 和 Gradle 等构建工具一起...

    spring boot使用自定义配置的线程池执行Async异步任务

    Spring Boot 使用自定义配置的线程池执行 Async 异步任务 在 Spring Boot 中执行异步任务时,默认情况下使用的是默认的线程池,但是,在实际项目中,我们可能需要根据项目的需求来定制自己的线程池。下面将介绍如何...

    Spring-Boot-Demo

    总的来说,Spring Boot与Mybatis的整合,配合Druid数据库连接池的使用,为Java开发带来了极大的便利。通过这种方式,我们可以快速构建起具备数据访问能力的应用,并且具有良好的性能监控和维护性。这正是Spring Boot...

    Spring Boot自定义favicon实现方法实例解析

    Spring Boot自定义favicon实现方法实例解析 通过本文,我们可以了解到Spring Boot自定义favicon的实现方法。favicon是浏览器选项卡左上角的图标,通常情况下,我们需要在静态资源路径下或者类路径下添加favicon.ico...

    Spring Boot教程.pdf

    Spring Boot 支持多种配置文件格式,包括 properties、YAML、XML 等。 在配置文件中,我们可以配置应用程序的基本信息,如应用程序的名称、版本号、数据库连接信息等。同时,我们也可以配置 Spring Boot 的自动...

    Demo project for Spring Boot

    Spring Boot默认使用`application.properties`或`application.yml`作为主要的配置文件。这些文件可以用来覆盖Spring Boot的自动配置,或者添加自定义的配置项。 **5. 健康检查与Actuator** Spring Boot提供了...

    92.Spring Boot使用模板velocity【从零开始学Spring Boot】

    本文将深入探讨如何在Spring Boot项目中集成并使用Velocity模板引擎。 首先,我们需要理解Spring Boot与Velocity的结合原理。Spring Boot通过内置的Tomcat服务器和自动配置机制,简化了Web应用的搭建过程。而...

    Spring boot中文教程(Spring Boot Reference Guide 1.3.0.BUILD)

    为了更好地适应不同的部署环境,Spring Boot提供了多种配置特性,包括外化配置、配置随机值、访问命令行属性、使用YAML代替Properties文件、特定的Profile属性、属性占位符等。YAML是一种标记语言,它易于阅读,适用...

    spring boot面试题及答案.docx

    Spring Boot中有两个重要的配置文件:`application.properties` 或 `application.yml` 和 `bootstrap.properties` 或 `bootstrap.yml`。 - **application 配置文件**:主要用于Spring Boot项目的自动化配置,定义...

    Spring Boot核心技术 - 笔记.rar

    Spring Boot支持使用YAML和Properties两种格式的配置文件。YAML提供更易读的格式,而Properties更适合简单的键值对配置。配置文件通常位于`src/main/resources`下的`application.yml`或`application.properties`。 ...

    使用Gradle 构建spring Boot工程系列项目源码(配合第五篇文章)

    2. **Spring Boot与Gradle的集成**:Spring Boot项目可以使用Gradle作为构建工具,通过添加`spring-boot-starter-parent`为项目的父POM,可以获取Spring Boot的默认配置,简化项目的初始化过程。 3. **构建脚本**:...

    spring boot的demo.zip

    你还可以使用 Spring Boot 的 WebMvcConfigurer 接口自定义 MVC 配置,添加过滤器或者拦截器来处理视频请求。 总的来说,"spring boot的demo.zip" 提供了一个全面的示例,涵盖了 Spring Boot 的基本应用、MyBatis ...

    Spring Boot入门培训(带完整源码)

    4. **Spring Boot配置**:理解`application.properties`或`application.yml`配置文件,以及如何自定义配置。 5. **Web开发**:使用`@RestController`和`@RequestMapping`处理HTTP请求,以及使用Thymeleaf或...

Global site tag (gtag.js) - Google Analytics