spring使用最基本的依赖注入,导包的问题

HaleyZhang 发布于 2018/06/07 20:13
阅读 598
收藏 0

只是想实现最基本的spring的依赖注入的功能,需要哪些包?

就是通过applicationContext.xml中配置的对应的对象名以及相关类的信息,创建spring容器,并把bean标签中配置的对象,放到spring容器中,然后再通过id获取对象并调用对象方法的过程.

上边这个过程用到哪些包啊?我导入了bean,context,core,expression还是不行......

报错信息是找不到org/apache/commons/logging/LogFactory这个类,百度了一下少某个jar包,之后下载导入好了.

我是不是写的有问题,就实现一个最基本的用spring创建对象并且放到容器中,可以调用,需要哪些包?

还有啊,总是觉得spring就是用了反射创建了几个对象放在了作用域比较大的容器中,为啥叫依赖注入的啊,这不是谁用谁主动取的啊,又不是他注入的.

还觉得这玩意太麻烦了吧,还不能超过对象的作用域之后自动销毁,应该是spring容器关闭时,才销毁里边的对象吧,要是自己new就是用到的时候new超过了就销毁了,这不是很好吗?

加载中
0
325G
325G

“注入”是spring容器做的事情 我们要做的是告诉容器我们要“注入”什么东西 ,当你使用面向接口式编程时会发现在代码中写死new 就不那么好使了,你可能会选择将要new的子类名称写到配置文件然后通过反射方式来创建对象 这时候你就会发现spring其实挺好用的

HaleyZhang
HaleyZhang
比如说有个接口Service,实现类叫ServiceImpl, spring通过 <bean id="serviceImpl" class="*.ServiceImpl" /> 创建了对象,是不是用的时候要这样: Service service =ApplicationContext.getBean("serviceImpl"); 这不是也是挺麻烦的啊......
0
JYD_XL
JYD_XL

只依赖context,但是context包自身依赖其他的一些包,如果你是手动处理依赖的话,那就要手动加这些依赖包了,手动处理依赖关系很麻烦的,最好用maven或gradle来管理。

关于spring的作用,当你需要测试某个方法,但是这个方法的对象依赖许多其他的对象的时候;又或者你需要整合其他框架的时候,你就会感谢spring了。

spring默认产生的对象是单例的,通常是无状态的对象,这种对象本身就可以重复使用,频繁创建和销毁除了占用资源和消耗时间之外没用其他作用。你要是需要那种new完就扔的对象spring也可以帮你做,你只要把bean声明成原型类型就行了。

返回顶部
顶部