springmvc注解开发,springmvc.xml的配置和spring的applicationContext.xml分开扫描学习总结。

其实有时候写开发,有时候会把以前的知识记不太清,现在就记录一下这个自己理解的东西,纯属个人看法,谢谢理解!

学习springmvc的注解开发的时候,发现web.xml的配置里面,会有两个spring的容器配置,一个是springmvc.xml和applicationContext.xml(这是我的项目的配置命名,也可以其他命名)。然后发现我项目能够跑起来的时候,springmvc配置里面写的东西,是只扫描Controller控制层,和一些jsp的界面映射的配置,而applicationContext.xml扫描除了控制层之外的service业务层和dao层,实体类等等,和其他事务管理配置,aop,数据库等配置信息。首先我们知道用户访问后,项目里面先初始化applicationContext.xml再初始化springmvc.xml的。现在总结我了解了两个分开扫描信息:

1.applicationContext.xml是父容器,springmvc.xml是子容器,可以看成父容器的大圆包含这个mvc子容器的小圆,父容器不能访问子容器,而子容器可以访问父容器,这句话会配合下面的第三点解释。

2.一定要mvc子容器要扫描控制层Controller,用户访问时候,会从DispatcherServlet下面的mvc配置开始找@Controller注解的Bean。如果父容器扫描了控制层,那么子容器就找不到这个处理器,就跳转不了页面,出现404。

3.根据第一第二点,我们知道,springmvc.xml子容器扫描控制层,spring的applicationContext扫描业务和dao层,子容器可以访问父容器,父容器不能访问子容器,所以我们可以在控制层使用@Autowired注解service,service里面可以注解dao,没有在service里面注解Controller

4.既然一定要mvc扫描控制层,spring扫描业务和dao等其他,那么我不要spring可不可以?答案是:直接在mvc扫描所有的这也是可以的,这样子容器里面就封装了所有的层bean,而且还可以互相访问。之所以要applicationContext.xml,只是因为方便拓展,如果很多东西都在一个容器配置,就很麻烦,比如,事务配置还有加入其它架构什么的,很不方便。

5.配上我一年前我第一次写springmvc注解的配置。web,springmvc,和spring的配置。

总结:springmvc.xml只扫描控制层就可以了,spring的applicationContext这个配置扫描除了控制层之外就可以了。项目就可以跑起来了

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. web.xml:这是一个Java Web 项目的核心配置文件,主要用于配置Servlet、Filter、Listener等Web组件,并且定义了Servlet容器的一些基本配置,如编码、Session管理、错误页面等。其中,常用的配置包括: - 配置Servlet:用于处理HTTP请求的Java类。 - 配置Filter:用于对HTTP请求进行过滤和处理。 - 配置Listener:用于监听Web应用程序的生命周期事件。 2. springmvc-config.xml:这是一个Spring MVC框架的配置文件,主要用于配置Spring MVC的核心组件,如HandlerMapping、ViewResolver、Interceptor等。其中,常用的配置包括: - 配置HandlerMapping:用于映射请求到相应的控制器方法。 - 配置ViewResolver:用于将控制器方法返回的逻辑视图名映射到实际的视图模板。 - 配置Interceptor:用于拦截请求,在处理请求前或处理请求后进行一些操作,如权限控制、日志记录等。 3. spring-mybatis.xml:这是一个整合Spring和MyBatis框架的配置文件,主要用于配置数据库连接、事务管理、Mapper接口扫描等。其中,常用的配置包括: - 配置数据源:用于连接数据库,设置连接池等。 - 配置事务管理器:用于管理数据库事务,保证事务的一致性和可靠性。 - 配置Mapper接口扫描:用于自动扫描Mapper接口,并将其注册为Spring的Bean。 4. applicationcontext.xml:这是一个Spring框架的核心配置文件,主要用于配置Spring容器中的各种Bean,包括Service、DAO、Interceptor等。其中,常用的配置包括: - 配置Bean:用于定义Spring容器中的各种Bean。 - 配置AOP:用于实现面向切面编程,如事务管理、日志记录等。 - 配置属性文件:用于加载外部的属性文件,如数据库连接信息、邮件服务器信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值