SpringBoot学习笔记(3)——@Configuration与@Value

以前沃恩都是通过在资源路径下通过配置文件的方式来将属性值注入到某个javabean中。

例如:

* 通过Spring核心配置文件beans.xml用如下配置为具体的javabean的属性注入值
* <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
*      <property name="driverClassName" value="${jdbc.driverclass}"></property>
*      <property name="url" value="${jdbc.url}"></property>
*      <property name="username" value="root"></property>
*      <property name="password" value="123456"></property>
* </bean>

*现在直接使用 @Value (xxx) 注解 就可以直接为某个属性注入值了,等价于上面。这与前文使用@Configuration来讲配置文件中的属性值注入到容器中作用相同。本文将讨论使用@Value注解来达到相同的功能。

首先,@Value的用法如下:

@Value("字面量的值")


@Value("#{key}")


@Value("${key}")

(1)@Value("字面量的值")

可以直接通过@Value将字面量的值注入到某个bean中。

(2)@Value("#{key}")

表示可以从环境变量、配置文件中获取值。

(3)@Value("${key}")

表示可以支持SpEL表达式(Spring表达式)。

举例:

配置文件:application.yaml

server:
   port: 8080
person:
   lastName: 张三
   age: 18
   cityMap: {mapK1: mapV1,mapK2: mapV2}
   dog:
     name: 小花
     age: 8

javabean:person.java


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

/**
 * 实体类
 *
 * @Component 无论是@ConfigurationProperties还是@Value注入值,都必须先使本来成为-
 * Spring容器中的组件,这样Spring容器才能为它DI注入值
 */
@Component
public class Person {

    /**
     * ${key}:从环境变量以及配置文件中获取值
     */
    @Value("${person.lastName}")
    private String name;

    /**
     * #{SpEL}:Sping 表达式语言
     */
    @Value("#{2*4}")
    private int age;

    /**
     * 普通字面量的值
     */
    @Value("中国南京")
    private String address;

    public void setAge(int age) {
        this.age = age;
    }

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

    public int getAge() {
        return age;
    }

    public String getName() {
        return name;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }
}

@Configurationproperties与@Value的区别

 @ConfigurationProperties@value
功能支持批量注入配置文件中的属性一个一个指定
松散绑定(松散语法)支持不支持
SpEL不支持支持
JSR303数据校验支持不支持
复杂类型封装支持不支持
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以和你分享一些关于Spring Boot的学习笔记。 1. Spring Boot是什么? Spring Boot是一个基于Spring框架的快速开发框架,它能够帮助开发者快速搭建Spring项目,简化了Spring应用开发的繁琐过程,提高了开发效率。 2. Spring Boot的优点有哪些? Spring Boot的优点有很多,其中包括: - 简化了Spring应用的开发,提高了开发效率; - 集成了很多常用的第三方库,减少了依赖管理的工作; - 自动化配置,减少了配置文件的编写工作; - 内嵌了Tomcat等Web容器,使得应用的部署更加便捷; - 提供了Actuator等模块,使得应用的监控和管理更加便捷。 3. Spring Boot的核心注解有哪些? Spring Boot的核心注解包括: - @SpringBootApplication:标注在启动类上,代表这是一个Spring Boot应用; - @Controller:标注在控制器类上,处理HTTP请求; - @Service:标注在服务类上,用于处理业务逻辑; - @Repository:标注在数据访问类上,用于数据库访问; - @Configuration:标注在配置类上,用于配置Spring应用上下文。 4. Spring Boot的配置文件有哪些? Spring Boot的配置文件包括: - application.properties:基于Key-Value的属性文件; - application.yml:基于YAML语法的配置文件。 5. 如何使用Spring Boot集成数据库? 使用Spring Boot集成数据库需要完成以下几个步骤: - 在pom.xml中添加相关数据库依赖; - 配置数据源和JPA/Hibernate等相关配置; - 编写实体类和DAO层代码。 以上就是一些关于Spring Boot的学习笔记,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值