Home
Sign Up
Sign In
V2EX
›
Java
Java Spring 里, @Autowire 注解写在方法上和变量属性上面有什么区别?
1
liky88
·
Mar 16, 2016
· 6175 views
This topic created in 3884 days ago, the information mentioned may be changed or developed.
spring
注解
Java
变量
9 replies
•
2016-03-17 10:39:12 +08:00
raysmond
Mar 16, 2016
1
写在变量上初始化地时候就要全部注入,这样有可能初始化时间较长。
写在方法上,则是调用方法的时候才注入。
不过写在变量上很方便
liky88
OP
Mar 16, 2016
2
@
raysmond
写在变量上的时候,是实例化变量属性。
那写在方法上的时候是实例化什么?
saximoer
Mar 16, 2016
3
@
liky88
他说的应该是 SET 方法上写?
Ouyangan
Mar 16, 2016
4
https://spring.io/blog/2004/08/06/method-injection/
Ouyangan
Mar 16, 2016
5
额 ,我这里打不开,请参看 spring 文档 P59
raysmond
Mar 16, 2016
6
http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-method-injection
liky88
OP
Mar 16, 2016
7
@
raysmond
@
Ouyangan
我举个例子,你们看对不对.
@
Autowire
public void setAuthentication(Authentication auth){
...
}
所以这个时候注解是放在方法上,是不是实例化 Authentication auth?
跟在变量上注入是等价的?
@
Autowire
Authentication auth;
谢谢
Ouyangan
Mar 17, 2016
8
@
Autowire
注解在乘员变量可以直接省略 set 方法,两种达到的效果是相同的.
specita
Mar 17, 2016
9
是等价的吧,两种写法而已
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
4605 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms ·
UTC 01:14
·
PVG 09:14
·
LAX 17:14
·
JFK 20:14
♥ Do have faith in what you're doing.
❯