说明:
(1)结论:如果一个工具类绑定了配置文件的属性,要想让配置文件生效,这个工具类就要交给IoC管理;
目前感觉这种做法,应该相对是OK的:
● 正常来说,一个工具类,是否使用IoC管理,都是OK的;(只是,使用IoC管理与否,在调用工具类的时候,其使用方式上存在些微差异而已)
● 但是,如果一个工具类和加载配置文件的属性有关,那么这个工具类就强烈建议使用IoC管理;
目录
二:一个可能的原则:如果一个工具类绑定了配置文件的属性,要想让配置文件生效,这个工具类就要交给IoC管理;
1.本专栏的【imooc-news-dev】项目中的工具类;
2.【(19)Spring Boot电商项目】项目中的工具类;
在【21:第三章:开发通行证服务:4:进一步完善【发送短信,接口】;】,发现有些工具类我们使用IoC管理、有的工具类我们没有使用IoC管理;;;这个决定因素到底是什么,所以写了本篇博客;
PS:目测,盲猜和多线程并发可能有点关系,但目前自己hold不住这个……
在【(19)Spring Boot电商项目】这个Spring Boot项目中,所有的工具类我们都没有使用IoC管理;
原则:SMS这个工具类绑定了配置文件中的属性,要想配置绑定生效 就要交给ioc处理;
1.本专栏的【imooc-news-dev】项目中的工具类;
(1)AliyunResource工具类;
(2)SMSUtils工具类;
因为自己对这个,并不是十分清楚,所以这儿就不瞎总结了,防止误导消费者~~~
(3)IPUtils工具类;
(4)RedisOperator工具类;
(5)summary;
目前感觉这种做法,应该相对是OK的:
● 正常来说,一个工具类,是否使用IoC管理,都是OK的;(只是,是否使用IoC管理,在使用方式上存在些微差异而已)
● 但是,如果一个工具类和加载配置文件有关,那么这个工具类就强烈建议使用IoC管理;
2.【(19)Spring Boot电商项目】项目中的工具类;
(1)MD5Utils工具类;
(2)OrderCodeFactory工具类;
![]()
(3)QRCodeGenerator工具类;
![]()