今天进行一个非spring的项目改造,做的时候发现关于spring IOC的好多东西都已经忘记了,今天边做边学习,然后总结一下以防下次再忘记了.
1.使用spring首先要添加扫面路径,为了省事,我扫面了全部目录
<context:annotation-config/>
<!-- view层自动装配搜索包路径 -->
<context:component-scan base-package="com.hnjz"/>
2.一般类Bean声明
使用@Component注解,为变量注入配置文件信息,@Value注解,String属性字段@Value("${sys.code}"),给int,boolean,long等非String字段注入 @Value("#{T(java.lang.Long).parseLong('${sys.maintSleep:3000L}')}") (解释:给long类型字段注入sys.maintSleep,默认3000L);如果字段为static,需要提供set方法(去掉set方法的static) ,在set方法上使用@Value注解.
还有一种特殊的情况,就是为抽象类注入属性,因为抽象类无法实例化,所以spring不会创建实例,就不会调用set方法,这种情况参考https://mp.youkuaiyun.com/console/editor/html/106159678.
3.
import org.springframework.beans.factory.annotation.Value;