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 | (cron = "1 22 22 * * *") |
cron规则一定是 6 位以空白字符间隔的字符串,其中每位代表的含义如下
1 | 秒 分 小时 日 月 星期 |
@Primary
@Primary:自动装配时当出现多个 Bean 候选者时,被注解为@Primary 的 Bean 将作为首选者,否则将抛出异常