当前位置: 首页 > 知识库问答 >
问题:

基于Spring 3.1Java配置如何工作

祖翰音
2023-03-14

只是一个一般问题,当您定义基于Java的配置Web应用程序时。即有一个类:ApplicationContext和一个WebApplicationInitializer类。

Spring如何知道它必须加载bean,因为不存在xml配置文件..tomcat如何知道没有web.xml的webapp

这是一个新手问题。我很感激。:)

共有2个答案

麹繁
2023-03-14

如果你有Maven,我有一个很好的方法来帮助你学习Spring MVC。

如果是这样:转到您的命令行(Cygwin)我使用...

  1. mvn原型:生成
  2. 它会要求一个'原型号'。对你来说...类型16
  3. 输入组ID,它只是主包。
  4. 输入工件ID,这是您的项目名称。
  5. SNAP-SHOT---只需按Enter并与版本相同。
  6. 包-与您的组ID名称相同。EX:com.spring
  7. 输入字母'y'并按Enter确认。

在工作区目录中后执行上述所有操作。这样它就在那里被创造出来了。
你可以做“mvn eclipse:eclipse”来加载它到Eclipse中,或者你可以直接导入它。我更喜欢老式的导入现有项目。

所有配置(基于Java)都将“已经”为您设置,这对您很好。它将在pom.xml中包含您所需的所有Maven依赖项。如果需要,您可以添加或删除它。

这里的重点是,你已经有了一个正在运行的项目,你可以从那里开始玩它。我首先创建所有像这样的项目,删除我不需要的东西,添加我做的东西,然后从那里开始。

祝你好运

任何人...将此添加到您的web.xml.这将有助于您的答案。在下面研究:

<context-param>
    <param-name>contextClass</param-name>
    <param-value>
        org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    </param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
勾长卿
2023-03-14

参见SpringSource blog的这篇博文,关于< code>web.xml的重要部分有一个例子,基本上你指向< code > JavaConfigWebApplicationContext 而不是< code>DispatcherServlet的< code >中的默认< code > XmlWebApplicationContext

<web-app>
    <!-- Configure ContextLoaderListener to use JavaConfigWebApplicationContext
         instead of the default XmlWebApplicationContext -->
    <context-param>
        <param-name>contextClass</param-name>
        <param-value>org.springframework.config.java.context.JavaConfigWebApplicationContext</param-value>
    </context-param>
    <!-- Configuration locations must consist of one or more comma- or space-delimited
         fully-qualified @Configuration classes -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>example.RootApplicationConfig</param-value>
    </context-param>
    <!-- Bootstrap the root application context as usual using ContextLoaderListener -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- Declare a Spring MVC DispatcherServlet as usual -->
    <servlet>
        <servlet-name>dispatcher-servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- Configure DispatcherServlet to use JavaConfigWebApplicationContext
             instead of the default XmlWebApplicationContext -->
        <init-param>
            <param-name>contextClass</param-name>
            <param-value>org.springframework.config.java.context.JavaConfigWebApplicationContext</param-value>
        </init-param>
        <!-- Again, config locations must consist of one or more comma- or space-delimited
             and fully-qualified @Configuration classes -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>example.web.WebBeansConfig</param-value>
        </init-param>
    </servlet>
</web-app>
 类似资料:
  • 我有,我认为一个非常简单的Spring MVC设置。我的应用程序上下文.xml是这样的: 我目前的web.xml是: 我正试图将这个设置转换为纯基于Java的配置。我在网上搜索了一下,到目前为止,我找到了一些解释(一些什么)如何进行Java配置的东西,但是没有解释如何向环境(即web上下文)注册Java配置。 到目前为止,我在@Configuration方面是这样的: 如何将其注册到web容器?我

  • 我试图将我现有的基于XML的spring批处理项目转换为基于java的配置。@Autowired对象返回null,尽管我已经在基本包中提到了componentscan。

  • 问题内容: 我有一个我认为非常简单的Spring MVC设置。我的applicationContext.xml是这样的: 我的web.xml当前是这样的: 我正在尝试将此设置转换为基于Java的纯配置。我已经在网上搜索过,到目前为止,我已经提出了一些东西(这些东西可以解释)如何进行Java配置,但是没有解释如何在环境(即Web上下文)中注册该Java配置。 到目前为止,我对@Configurati

  • 我是钥匙斗篷大一新生。我想使用KeyCloak的authorizaion系统创建一个相当简单的基于组的访问控制系统。我尝试配置基于组的策略,但失败了,步骤如下: 1.创建一个“用户”的组名;2.配置资源、范围等;3.将策略设置为基于组的策略,但在这一步中,这是关于“Groups claim”的混淆,“Groups claim”的描述是:“一个用作用户组源的声明。如果声明存在,它必须是一个字符串数组

  • 问题内容: 不合理,无法通过注释而不是纯XML Bean来配置Spring Bean,现在我正面临后果。 我使用以下方式配置REST通道 现在,我只需要简单地将设置为仅将此具有非null值的字段输出到JSON。我尝试了以下方法: Bean被创建,但是转换器的另一个实例已创建并在通道中使用。所以我已经尝试过这种方法并在Stackoverflow问题中进行了描述,但是json序列化仍然使用其自己的配置

  • 我读过消防安全规则文件。我已经通过Firebase(Firebase Auth)实现了身份验证,但我无法理解如何根据每个用户的配置文件在Firebase中正确配置安全规则。 考虑以下数据结构 用户只能在其所属的公司中读取或写入信息(users/$iduser/companis/$idcompany==true) 规则2 只有公司X的管理用户可以让另一个用户访问他的公司,对于该公司,idcompan