在项目作业中
在site模块无法引入common模块中的serviceImpl,当我引入之后项目就运行不了了,加入@Autowire注解也是同样的情况,那么我应该如何引入serviceImpl(红色框框部分)
正在回答
1、作业不是我批改的,但是老师查看了同学的作业,没有发现同学的报错信息。
但还是有些问题,这里做了一些修改,请同学参考。
1)site 是web模块,应该把pom文件中的<packaging>jar</packaging>改成<packaging>war</packaging>
2)通过纸杯蛋糕老师说的方法,从spring容器中通过ClassPathXmlApplicationContext加载spring.xml 这个配置文件。并从中获取categoryService(注意,强转的时候要用接口,不能用接口的实现类)
3)使用获取的categoryService对象,调用getAll()方法可以查询
4)非常抱歉的是不要使用之前老师告诉你的在init中用new CategoryServiceImpl ()这种方式去获取categoryService
因为这样,new出来的CategoryServiceImpl 没有交给spring管理,它无法调用CategoryDao,要用第二条建议的方法获取。
修改的代码以及运行结果如下(这里为了展示数据,添加了Category的toString方法):
5)按照上边的方式再注入一下DepartmentService等,查出来发送到界面上。
结合老师在作业批改中修改前台页面的方法,把数据放到前台页面上展示即可。
如果还是有问题,可以再次提问。建议同学按照上边同学的方法,把项目从idea中删除,并删除其配置文件,重新导入试试。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
有common模块,没有报错,看上去像是没有报错,
我在servlet加了context=.....的代码,提示获取不到。
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
你好!检查一下下面截图中的内容,下面的截图是以员工管理这个案例为例。首先选择File——Project Structure,如下图所示,选择左侧的Modules,看一下在你的sit模块中是否有common模块的内容,是否有报错。(也希望将你的配置截图看看)
如果没有,选择右侧的加号,然后选择Module Dependency,把common的Module加进来
另外,看一下Common模块的pom.xml文件,这个地方的packaging是否是jar包
应该和spring模式本身没有关系,如果jar包打包成功了,有可能是没有正确引入。
另外,记得在init()方法中加上如下语句,否则不能获取到bean。
祝学习愉快!
这里分别是common模块和site模块,
site模块里只有MainServlet,我个人认为,会不会是因为common是spring模式的,而site中并没有告诉spring要调用其中的serviceImpl实现类。所以提示找不到?
(我试过了老师说的install的方法,好像问题不在这)
[ERROR] Failed to execute goal on project site: Could not resolve dependencies for project com.lin:site:jar:1.0-SNAPSHOT: Could not find artifact com.lin:common:jar:1.0-SNAPSHOT
install之后报错。
是因为我没有在web.xml中配置spring.xml吗
我改成了这样,它还是报错。
大概意思就是说找不到这个实现类。
初始化的时候不能是new CategoryService();
是new CategoryService{...}
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星