spring bean 多个 id
1 | "Service-A") ( |
作用域代理——proxyMode 属性
将一个短生命周期作用域 bean 注入给长生命周期作用域 bean,我们期望长生命周期 bean 的属性保持与短生命周期 bean 同样。例如
1 |
|
保证每次prototype
都是最新的,需要在Prototype
类上定义proxyMode
延迟加载 bean
1 | //... |
使用@Autowire
也是可以的,重要是使用了Provider
基于注解的切面
1 | import org.aspectj.lang.ProceedingJoinPoint; |
所有注解了@Log
的方法都会被切
Spring
注入文件
1 | import org.springframework.core.io.Resource; |
@Autowired
@Autowired(required = false)
若Spring
容器中没有对应的BeanDefinition
时不会注入值,可赋值一个默认值避免空指针的情况。
定时任务
Spring
的@Scheduled
可使用crontab
语法,但是不同于unix
的标准语法,它第一位是秒
1 | "1 22 22 * * *") (cron = |
cron
规则一定是 6 位以空白字符间隔的字符串,其中每位代表的含义如下
1 | 秒 分 小时 日 月 星期 |
@Primary
@Primary
:自动装配时当出现多个 Bean 候选者时,被注解为@Primary 的 Bean 将作为首选者,否则将抛出异常