只是想实现最基本的spring的依赖注入的功能,需要哪些包?
就是通过applicationContext.xml中配置的对应的对象名以及相关类的信息,创建spring容器,并把bean标签中配置的对象,放到spring容器中,然后再通过id获取对象并调用对象方法的过程.
上边这个过程用到哪些包啊?我导入了bean,context,core,expression还是不行......
报错信息是找不到org/apache/commons/logging/LogFactory这个类,百度了一下少某个jar包,之后下载导入好了.
我是不是写的有问题,就实现一个最基本的用spring创建对象并且放到容器中,可以调用,需要哪些包?
还有啊,总是觉得spring就是用了反射创建了几个对象放在了作用域比较大的容器中,为啥叫依赖注入的啊,这不是谁用谁主动取的啊,又不是他注入的.
还觉得这玩意太麻烦了吧,还不能超过对象的作用域之后自动销毁,应该是spring容器关闭时,才销毁里边的对象吧,要是自己new就是用到的时候new超过了就销毁了,这不是很好吗?
<p>“注入”是spring容器做的事情 我们要做的是告诉容器我们要“注入”什么东西 ,当你使用面向接口式编程时会发现在代码中写死new 就不那么好使了,你可能会选择将要new的子类名称写到配置文件然后通过反射方式来创建对象 这时候你就会发现spring其实挺好用的</p>
比如说有个接口Service,实现类叫ServiceImpl,
spring通过 <bean id="serviceImpl" class="*.ServiceImpl" /> 创建了对象,是不是用的时候要这样: Service service =ApplicationContext.getBean("serviceImpl"); 这不是也是挺麻烦的啊......
<p>只依赖context,但是context包自身依赖其他的一些包,如果你是手动处理依赖的话,那就要手动加这些依赖包了,手动处理依赖关系很麻烦的,最好用maven或gradle来管理。</p>
关于spring的作用,当你需要测试某个方法,但是这个方法的对象依赖许多其他的对象的时候;又或者你需要整合其他框架的时候,你就会感谢spring了。
spring默认产生的对象是单例的,通常是无状态的对象,这种对象本身就可以重复使用,频繁创建和销毁除了占用资源和消耗时间之外没用其他作用。你要是需要那种new完就扔的对象spring也可以帮你做,你只要把bean声明成原型类型就行了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。