开发者社区> 问答> 正文

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

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

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

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

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

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

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

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

展开
收起
爱吃鱼的程序员 2020-06-06 21:09:40 524 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <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声明成原型类型就行了。

    2020-06-06 21:09:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多