在主容器中(applicationContext.xml)添加
<context:component-scan base-package="com" />
而在springMVC配置文件中use-default-filters它用来指示是否自动扫描带有@Component、@Repository、@Service和@Controller的类。默认为true,即默认扫描,如果想要过滤其中这四个注解中的一个,比如@Service,@Controller可以添加如下子标签
<context:component-scan base-package="com" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
</context:component-scan>
因为spring的context是父子容器,所以会产生冲突,由ServletContextListener产生的是父容器,springMVC产生的是子容器,子容器Controller进行扫描装配时装配了@Service注解的实例,而该实例理应由父容器进行初始化以保证事务的增强处理,所以此时得到的将是原样的Service(没有经过事务加强处理,故而没有事务处理能力。
分享到:
相关推荐
在使用 Spring 和 SpringMVC 配置事务管理时,需要正确配置 Spring 和 SpringMVC 的配置文件,避免重复扫描,确保事务管理生效。本文详细介绍了 Spring+SpringMVC 配置事务管理无效原因及解决办法,希望对大家有所...
"springmvc事务配置到controller.zip"这个压缩包很可能包含了关于如何在Spring MVC的Controller层配置事务管理的示例代码和相关教程。 首先,我们要理解Spring MVC中的事务管理主要依赖于Spring的事务抽象层,这...
在`dispatcher-servlet.xml`中,我们需要配置一个`<mvc:annotation-driven/>`元素来启用基于注解的控制器和数据绑定支持。然后,可以定义视图解析器,例如`InternalResourceViewResolver`,它将逻辑视图名映射到实际...
4. **整合步骤**:将SpringMVC和Spring的配置合并,通过`<mvc:annotation-driven>`启用SpringMVC的注解驱动,使@Controller、@Service、@Repository和@Transactional等注解生效。接着,使用Spring的@Autowired注解...
5. **事务管理**:Spring提供了声明式事务管理,可以在`<tx:annotation-driven>`元素中配置,使@Transactional注解生效。这样,你可以直接在需要事务的方法上加上该注解,由Spring自动管理事务的开始、提交或回滚。 ...
#### 三、SSM框架中的事务配置 在SSM(Spring + SpringMVC + MyBatis)框架中,事务可以通过编程式和声明式两种方式进行配置。 ##### 3.1 编程式事务管理 编程式事务管理通过在代码中显式地控制事务的开始、提交...
为了使注解生效,还需要在`web.xml`中配置DispatcherServlet和ContextLoaderListener: ```xml ... <servlet-name>dispatcher <servlet-class>org.springframework.web.servlet.DispatcherServlet ...
总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`<mvc:annotation-driven>`元素之前。通过上述方法,可以有效地...
例如,使用`<mvc:annotation-driven>`标签启用注解驱动,使@Controller、@RequestMapping等注解生效。 3. **MyBatis框架**:MyBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供更灵活的数据库操作...
在配置文件中,我们需要声明`<mvc:annotation-driven>`元素,这将自动注册用于处理HTTP请求的HandlerAdapter和MessageConverter。 Spring MVC使用MessageConverter来处理请求和响应的转换。当我们需要根据请求的...
为了使`@Autowired`生效,需要在Spring的配置中添加`<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />`,这个处理器会处理所有带有`@Autowired`的注解,确保...
为了使`Converter`生效,还需要将其添加到Spring的配置中: ```java import org.springframework.context.annotation.Configuration; import org.springframework.format.FormatterRegistry; import org.spring...
在开发Web应用程序时,数据验证是一项至关重要的任务,确保客户端提交的数据符合预设的规则,以防止潜在的安全问题和数据不一致性。Spring MVC提供了一种优雅的方式来处理服务端的数据验证,利用Hibernate Validator...
-- 自动扫描指定包下的注解,让注解生效 --> <!-- 视图解析器 --> <!-- 处理器映射器 --> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> ...
源码中,SpringBoot会扫描`META-INF/spring.factories`文件来寻找可自动配置的类,然后根据项目中的依赖来决定哪些配置生效。 2. **起步依赖(Starter)**:SpringBoot的起步依赖是一种方便引入相关功能模块的方式...
这段配置创建了一个线程池任务调度器,并关联到了`ScheduledAnnotationBeanPostProcessor`,使得`@Scheduled`注解生效。 然后是SpringMVC部分,它负责处理HTTP请求,与定时任务的关系不大,但在实际应用中,定时...
同时,通过`<mvc:annotation-driven/>`标签开启注解驱动,使得Controller方法上的@RequestMapping等注解生效。 ```xml <!-- 自动扫描 --> <context:component-scan base-package="cn.itcast.springmvc.service,...
<servlet-name>springMvc <servlet-class>org.springframework.web.servlet.DispatcherServlet <description>spring mvc 配置文件 <param-name>contextConfigLocation <param-value>classpath:spring-mvc.xml...
2. **JUnit4**:JUnit4引入了注解(Annotation)和参数化测试,提高了测试的灵活性和可读性。在Activiti实例中,开发者可以使用JUnit4编写单元测试,检查流程的每个步骤是否按预期执行,如任务的创建、分配、完成等...