@JFinal
有一个概念我一直没真正理解:
在controller里使用
@Inject
BlogService service;
和使用
BlogService service = new BlogService();
有什么根本性的区别呢?
1:节省点代码
2:@Inject 的方式支持 singleton,而 new BlogService() 每次要创建新对象(除非使用 static 关键字)
3:@Inject 可以注入接口的实现类,类的子类,抽象类的子类,这样就可以实现动态化,而 new BlogService 中的 BlogService 类型是写死在代码中的
4:@Inject 在注入的时候便于实现 AOP,被注入的对象上如果使用了 @Before 拦截器是生效的。而 new BlogService() 的方式在里头用的 @Before 将不起作用