SpringBoot属性赋值的方式

业务需求
说明:当spring整合第三方架构时,有些类中要求实例化对象时要求赋值某些属性,这时需要利用spring容器的方式为属性赋值
1.利用YML形式为属性赋值

 server:
  port: 8091
  servlet:
    context-path: /   #默认的发布路径就是 /

#案例1.为属性赋值  YML中可以写中文,但是开发时一般不用
jdbc:
  url: mysql的url
  driverName: mysql数据库
  username: 用户名A

2.利用@Value为属性赋值
在这里插入图片描述
3.@RestController介绍
@RestController注解就是@Controller+@ResponseBody的组合注解

//@Controller +@ResponseBody
@RestController
public class JDBCController {}

4.批量赋值
业务需求:有些框架中要求实例化对象时,需要为N多个属性赋值.如果这时依然采用@value赋值形式 太繁琐,所以使用批量赋值的形式操作.

4.1引入jar包

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-configuration-processor</artifactId>
		<optional>true</optional>
	</dependency>

4.2编辑YML配置文件

#案例2 为属性批量赋值
jdbcb:
  jdbcName: mysql
  jdbcDriver: mysql驱动

4.3批量为属性赋值
使用注解 @ConfigurationProperties(prefix=“jdbcb”),额外记住添加set方法.

@Service
@ConfigurationProperties(prefix="jdbcb")
public class JDBCServiceB {
	//规定:如果采用批量赋值的形式,
	//一定要添加set方法.
	private String jdbcName;
	private String jdbcDriver;
	
	public String getJdbcName() {
		return jdbcName;
	}
	public void setJdbcName(String jdbcName) {
		this.jdbcName = jdbcName;
	}
	public String getJdbcDriver() {
		return jdbcDriver;
	}
	public void setJdbcDriver(String jdbcDriver) {
		this.jdbcDriver = jdbcDriver;
	}
	
}

4.4编辑测试类

@Autowired
	private JDBCServiceB jdbcServiceB;
	
	//2.测试批量赋值操作
	@RequestMapping("/jdbcTestB")
	public JDBCServiceB jdbcTestB() {
		
		return jdbcServiceB;
	}

4.5测试效果
在这里插入图片描述
5.指定配置文件为属性赋值.
5.1 业务说明
YML文件是SpringBoot程序中最为重要的核心配置文件.一般用来整合第三方框架.
如果将依赖的配置信息也写入YML中,则文件冗余.可读性差.
所以一般采用properties的方式引用.

5.2 自定义properties文件

#key=value
jdbcc.jdbcName=mysqlName
jdbcc.jdbcDriver=mysqlDriver

5.3 对象赋值操作
说明:指定配置文件为属性赋值.

@Service
//自定义配置文件交给spring容器管理
@PropertySource(value="classpath:/properties/jdbc.properties")
public class JDBCServiceC {
	@Value("${jdbcc.jdbcName}")
	private String jdbcName;
	@Value("${jdbcc.jdbcDriver}")
	private String jdbcDriver;
	public String getJdbcName() {
		return jdbcName;
	}
	public void setJdbcName(String jdbcName) {
		this.jdbcName = jdbcName;
	}
	public String getJdbcDriver() {
		return jdbcDriver;
	}
	public void setJdbcDriver(String jdbcDriver) {
		this.jdbcDriver = jdbcDriver;
	}
}

5.4 编辑测试类

@Autowired
	private JDBCServiceC jdbcServiceC;
	
	//3.测试自定义配置文件
	@RequestMapping("/testJDBCC")
	public JDBCServiceC testJDBCC() {
		
		return jdbcServiceC;
	}

5.5 测试效果
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值