哪一个更正确?@Autowired注释应该放在哪里 - 属性或方法?
这(与方法@Autowired注释)?
@Controller
public class MyController
{
private MyDao myDao;
@Autowired
public MyController(MyDao myDao)
{
this.myDao = myDao;
}
这(与属性@Autowired注释)?
@Controller
public class MyController
{
@Autowired
private MyDao myDao;
public MyController(MyDao myDao)
{
this.myDao = myDao;
}
@Autowired注释应该去哪里?
根据我刚刚做的一个实验(使用Spring 3.0),该字段在第二个选项中也可以标记为“final”,即它似乎可以很好地将@Autowired放在最终字段上,并且布线实际上可以工作在运行时!我猜想它是有效的,因为当它通过反射设置字段时,Spring绕过了“最终”修饰符。任何人都可以确认/发现更多的光线? – 2013-02-22 14:55:19
@Mikko我很惊讶的作品。 “最终”修饰符为并发提供了一些保证。如果Spring在施工后正在修改最终场地,那么您正在失去其中的一些好处。 – NamshubWriter 2013-02-26 16:59:22