相关疑难解决方法(0)

Spring Framework中applicationContext.xml和spring-servlet.xml之间的区别

  • applicationContext.xmlspring-servlet.xml在Spring框架无论如何有关系吗?
  • 声明的属性文件applicationContext.xml是否可用DispatcherServlet
  • 在相关的说明中,为什么我需要一个*-servlet.xml?为什么applicationContext.xml单独不足?

java spring

361
推荐指数
5
解决办法
17万
查看次数

Spring MVC中ApplicationContext和WebApplicationContext有什么区别?

应用程序上下文和Web应用程序上下文有什么区别?

我知道WebApplicationContext用于面向Spring MVC架构的应用程序?

我想知道ApplicationContextMVC应用程序有什么用?什么样的豆类定义ApplicationContext

spring spring-mvc applicationcontext

180
推荐指数
4
解决办法
14万
查看次数

SpringMVC生命周期 - 整体视图

我是春天的新手.

我希望验证以下对SpringMVC生命周期的理解 - 将事物放在整个视图中的位置:

整个过程是由请求驱动的.

有一个Front Controller模式,Spring MVC中的Front Controller是DispatcherServlet.

在每次来自用户的传入请求时,Spring按照此处的描述管理整个生命周期.

在整体视图中,DispatcherServlet将请求分派给后端服务的控制器.完成此操作后,它会将其交给MVC的View组件,以便为响应用户准备其视图.

更详细的,

  • DispatcherServlet使用Handler来决定为该请求提供"哪个控制器".

  • 控制器应该是"轻量级" - 应该与后端的服务进程分离,作为一种良好的设计实践 - 它们包含对服务的引用并调用正确的服务.他们的"使命"是控制建立模型的服务流程,并将其交还给调度员以进行下一步.

  • View组件本身有两个部分:首先,ViewResolver为View选择正确的外观类型,以便将模型放入用户的最终格式.

从开发人员的角度来看 - DispatcherServlet是一个幕后的东西.我所做的就是在web.xml中定义并配置它(如有必要).作为开发人员,我实例化一个ApplicationContext(有很多ApplicationContext类型 - 我根据我的需要选择一个,通常是WebApplicationContext(?)).AplicationContext是使用.xml文件中的描述创建包括DispatcherServlet在内的所有servlet/bean的工厂.DispatcherServlet然后在幕后运行并管理整个过程 - 使用注释或其.xml描述,视图,处理程序,验证器等来获取和获取控制器.

我想知道这个描述是否成立 - 有效和完整,以及是否有大的缺失部分.

提前致谢.

spring-mvc

10
推荐指数
2
解决办法
1万
查看次数

组件扫描问题@Transactional不适用于@Controller

我认为@Transactional不适用于其他注释,@Controller或者我有问题和困惑,component-scan因为我得到这个错误:

org.hibernate.HibernateException: No Session found for current thread
Run Code Online (Sandbox Code Playgroud)

这是我的配置文件:

MVC-调度-servlet.xml中

<context:component-scan base-package="controller"/>
<mvc:annotation-driven />
Run Code Online (Sandbox Code Playgroud)

Hibernate.xml

   <context:component-scan base-package="controller"/>

   <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
      ....
   </bean>

   <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource">
      ...
   </bean>

   <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
      ...
   </bean>

   <tx:annotation-driven transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)

我的测试控制器

@Transactional
@Controller
public class Test {

    @Autowired
    private SessionFactory sessionFactory;

    @RequestMapping(value="/") 
    public String test() {
        ...
        sessionFactory.getCurrentSession().get(Region.class,1);
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的web.xml

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>hibernate.xml</param-value>
</context-param>


<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>mvc-dispatcher-servlet.xml</param-value>
    </init-param> 
    <load-on-startup>1</load-on-startup>
</servlet> …
Run Code Online (Sandbox Code Playgroud)

spring hibernate spring-mvc

0
推荐指数
1
解决办法
1843
查看次数

标签 统计

spring ×3

spring-mvc ×3

applicationcontext ×1

hibernate ×1

java ×1