1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > @ConfigurationProperties和@Value不同的使用场景 @Bean添加组件 (6.spring boot配置文件注入)...

@ConfigurationProperties和@Value不同的使用场景 @Bean添加组件 (6.spring boot配置文件注入)...

时间:2021-04-09 02:33:33

相关推荐

@ConfigurationProperties和@Value不同的使用场景 @Bean添加组件 (6.spring boot配置文件注入)...

接上文

注释掉@ConfigurationProperties使用@Value注解

/*** <bean class="Person">*<property name="lastName" value="字面量/${key}从环境变量、配置文件中获取值/#{spel}"></property>* <bean/>*///Spring底层注解@Value("${person.last-name}")private String lastName;@Value("#{11*2}")private Integer age;

测试可以获取到

@configurationpropertis @Value功能: 批量注入一个个指定松散绑定:支持。last-name等价于lastName不支持SPEL不支持支持JSR303数据校验支持。校验在属性中@Email 不支持复杂类型封装 支持 不支持 ${person.dogs}报错

如果只是在某个业务需要获取一下配置文件中的某个值,使用@Value

如果专门编写一个javaBean和配置文件进行映射,就直接用@configurationProperties批量注入

@PropertySource 和 @ImportResource

@PropertySource:加载指定的配置文件

测试通过

@ImportResource

拿到ioc容器

自己编写的配置文件不能生效自动识别

@ImportResource(locations = {"classpath:beans.xml"})导入spring的配置文件让其生效

加到测试类上,测试就可以找到了

SpringBoot推荐给容器添加组件的方式: 全注解的方式

1.配置类

service下有一个服务类

新建config目录,创建一个配置类

下图 启动测试类,上图可见成功了

如果改成下图就会查找失败

springboot推荐注解方式@Bean给容器中添加组件

package com.tabctrlshift.springboot.config;import com.tabctrlshift.springboot.service.HelloService;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;//指明sb当前类这是一个配置类//以前用<bean>标签@Configurationpublic class MyAppConfig {// 将方法的返回值添加到容器中,容器中这个组件默认id就是方法名@Beanpublic HelloService helloService08(){System.out.println("配置类@Bean给容器中添加组件了");return new HelloService();}}

配置文件占位符

可以用:指定默认值

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。