Spring学习笔记(十):@Autowired和new的区别
2015-10-10 18:29
579 查看
@Autowired相当于setter,在注入之前,对象已经实例化,是在这个接口注解的时候实例化的;
而new只是实例化一个对象,而且new的对象不能调用注入的其他类
eg:
1、控制器
2、业务层
此时如果1 中new一个service,那么就不能调用2 中的Dao了,因为DAO是依赖注入的
而new只是实例化一个对象,而且new的对象不能调用注入的其他类
eg:
1、控制器
@controller public class BusinessShopShoesController extends BaseController { @Autowired private ShoesService shoesService;//相当于setter,已经实例化 }
2、业务层
@service public class ShoesService extends CrudService<ShoesDao, Shoes> { @Autowired ShoesModelDao shoesModelDao; @Transactional(readOnly = false) public Shoes get(int id) { return shoesModelDao.get(id); } }
此时如果1 中new一个service,那么就不能调用2 中的Dao了,因为DAO是依赖注入的
相关文章推荐
- Java单例设计模式
- Java中对已有的Set进行排序问题
- spring 初始化之后执行的方法
- java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
- Java中ZIP与Gzip的压缩与解压处理,其中有Base64处理
- java学习日记----------------------封装的日期类MyDate
- java核心技术之reflect(一):一个系统学习reflect的Demo(精)
- Java语音SDK接口开发经验及具体开发实现
- Servlet与一般Java类的区别是什么?
- java 代理模式
- JAVA操作Excel文件 JXL
- java ReentrantLock可重入锁功能
- 基础学习--调试/intellij快捷键
- 在 Java 应用程序中访问 USB 设备
- 使用Java对数据库进行基本的查询和更新操作
- java基础
- 虚拟机操作---JDK与Hadoop的安装
- java如何获取当前时间的方法汇总
- java二叉树 TreeMap集合测试
- 用java来写一个猜数字游戏,要用到界面