Spring Boot入门(六) 之 @PropertyResource与@ImportResource

简介: Spring Boot入门(六) 之 @PropertyResource与@ImportResource

1.@ConfigurationProperties

用来加载指定的配置文件

我们前边在给bean文件注入数据的时候,使用了@ConfigurationProperties注解,不过该注解,只可以把应用主配置文件的内容读取进来,要想给Bean赋值,只能读取主配置文件,就是application.properties或者application.yml文件,若我们想自己写一个配置文件来给bean赋值,我们就可以使用该注解@PropertyResource

我们在resource里边新建一个person.properties文件,并把之前主配置文件里的内容剪贴进来,并在bean上边加上注解

@PropertySource(value = {"classpath:person.properties"})

这里的value是一个列表可以添加多个配置文件,classpath指的是类路径,表示类路径下的person.properties文件


2.@ImportResource

作用,导入Spring的配置文件,让诶配置文件里边的内容生效,如下

我们在使用spring的时候,通常会用xml去配置bean然后注入数据

新建service包下边的HelloService



然后我们在resources里边新建beans.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="helloService" class="com.zhanshen.service.HelloService"/>
</beans>

然后我们在测试类里边创建IOC,并自动注入

这里要特别注意 ApplicationContext别导错了依赖

我们要导入的是springframework的这个,而不是Apache的这个

然后测试类里边使用containBean来判断是否含有xml里边配置的bean

结果是false,并没有注入成功

首先Springboot里边是没有spring的配置文件的,我们自己添加的配置文件也没法使用,所以,要想使用自己添加的配置文件,就要用@ImportResources注解

我们在主程序里边的上边加上这个注解,并在后边的locations里边指定位置就可以

@ImportResource(locations = {"classpath:beans.xml"})

3.@Bean

第二个@ImportResource在springboot里边并不推荐,springboot推荐使用给容器添加组件的形式,推荐使用全注解

首先我们创建一个配置类(相当于配置文件)

package com.zhanshen.config;
import com.zhanshen.service.HelloService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @Configuration 告诉springboot这是一个配置类
 * 在配置文件中我们用bean标签,注解这里我们用@Bean注解
 */
@Configuration
public class MyAppConfig {
    //将方法的返回值,添加到IOC容器中,容器中默认的id名就是方法名
    @Bean
    public HelloService helloService() {
        return new HelloService();
    }
}

最后记得把@ImportResourcer注解去掉,否则两种方式会冲突,这时我们再运行

发现也是true

相关文章
|
14天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
31 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
4月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
4月前
|
Java
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
这篇文章是Spring5框架的实战教程,深入讲解了AOP的基本概念、如何利用动态代理实现AOP,特别是通过JDK动态代理机制在不修改源代码的情况下为业务逻辑添加新功能,降低代码耦合度,并通过具体代码示例演示了JDK动态代理的实现过程。
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
|
4月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
11天前
|
Java 数据库连接 数据库
从入门到精通---深入剖析Spring DAO
在Java企业级开发中,Spring框架以其强大的功能和灵活性,成为众多开发者的首选。Spring DAO(Data Access Object)作为Spring框架中处理数据访问的重要模块,对JDBC进行了抽象封装,极大地简化了数据访问异常的处理,并能统一管理JDBC事务。本文将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring DAO,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
17 1
|
15天前
|
监控 Java 数据安全/隐私保护
如何用Spring Boot实现拦截器:从入门到实践
如何用Spring Boot实现拦截器:从入门到实践
33 5
|
2月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
33 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
2月前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
32 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
4月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合