笔记
SpringBoot注入静态属性或静态对象
springboot中注入对象很方便,但是如果类是个工具类,里面的静态方法,只能使用静态属性。这时候就要想办法让静态属性可以被注入。
重点有两点
- 让spring接管类,可以使用@Component、@Service等注解
- 使用setter或@PostConstruct,将属性注入
springboot整合jasypt加密数据库配置
项目中会遇到数据库名称和密码需要加密防止泄露的需求,因此引入了jasypt。下面的例子是将jasypt的加密密钥写在了配置文件中,为了安全,实际引用时,需要将配置放到服务器的启动命令中,避免在代码中暴露密钥
1.引入maven依赖jasypt-spring-boot-starter
1 | <dependency> |
2.启动类添加注解@EnableEncryptableProperties
1 | import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties; |
spring官方建议不要使用@Autowired,完美解决方案
Springboot官方建议使用final来修饰成员变量,然后通过构造方法来进行注入。原因:final修饰的成员变量是不能够被修改的,反射除外。
既然不推荐使用Autowired了,应该如何修改我们的代码呢?