web项目 配置说明 spring-config.xml springmvc-servlet.xml web.xml

从零搭建SpringMVC项目:IDEA手动配置全流程与核心原理详解 SpringMVC作为Java Web开发的核心框架,其核心原理基于前端控制器模式,通过DispatcherServlet统一处理请求,实现了控制器、模型与视图的解耦。这一设计为Web应用提供了清晰的请求处理流程和灵活的视图解析能力,其技术价值在于构建了结构清晰、易于维护的企业级应用基础。在应用场景上,无论是传统的基于XML配置项目,还是需要深度定制的遗留系统,理解其手动配置过程都至关重要。本文以IDEA和Maven为工具,详细演示了从创建项目骨架、配置web.xml与DispatcherServlet 阅读详情

    <!--
        spring-config.xml 配置文件书写

            1.  注解识别,驱动启动
                    <context:annotation-config/>
            2.  项目扫包,识别除@Controller注解以外的注解,并使用@Componment的postProcesser。
                    <context:component-scan base-package="com.lhb.spring">
                         <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
                    </context:component-scan>
            3.  PropertyPlaceholderConfigurer:  配置文件读取,并创建到bean中. eg.${property}; dataSource 应用。
                PropertyOverrideConfigure:      当然还可以使用占位符后处理器。 形如,#beanId.property=value 。
                     <context:property-placeholder trim-values="true" ignore-resource-not-found="true" ignore-unresolvable="true" location="classpath*:*.properties"/>
                     <context:property-override  location="classpath*:override.properties"/>
            4.  aop切面编程注解识别并处理,@Aspecct。 当然也可以使用相信的aop配置。<aop:config>标签以及其子标签等...
                     <aop:aspectj-autoproxy/>
                公司部分
            5.  wconfig  ,根据项目中所有注解为@wconfig或@wconfigValue的内容并对方法参数和实例变量进行注入值。
                    <wconfig:annotation-driven/>
            6.  其他...未完待续

            7.  配置文件解耦,可以吧dao,actor,task,redis等每一类的配置文件分开。并使用 import 引入配置文件到spring-config核心中。
                毕竟在 web.xml 中配置,spring-config 为 spring容器上下文。



    -->




    <!-- 启动@aspectj的自动代理支持-->
    <aop:aspectj-autoproxy/>

    <context:annotation-config/>

    <context:property-placeholder trim-values="true" ignore-resource-not-found="true" ignore-unresolvable="true" location="classpath*:*.properties"/>
    <context:property-override  location="classpath*:override.properties"/>

    <context:component-scan base-package="com.lhb.spring">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>


    <!--使用classpath 则选默认用classpathresource作为读取资源文件  ,以前缀为主-->
    <!--当然也可以使用file , 或http未前缀-->
    <import resource="classpath*:spring/spring-dao.xml"/>


    <!--<import resource="classpath*:*spring/spring-actor.xml"-->
    <!--<import resource="classpath*:spring/spring-redis.xml"/>-->
    <!--<import resource="classpath*:spring/spring-task.xml"/>-->


    <!--spring 4.0了,不需要配置-->
    <!--<import resource="classpath*:spring/spring-aop.xml"/>-->

<?xml version="1.0" encoding="UTF-8"?>
<web-app
        version="3.0"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">


    <!--
            web.xml 配置
        整个项目第一个加载并处理的配置文件,包含spring——config.xml , spring-serlvet.xml 接口创建和实现
        还有就是整个容器的功能  listener,filter等。

    注:
        listener功能很强大,可以设计容器,请求,会话三部分本身及其属性的更改都能被各种 listener 监听器监听到,并触发相应函数。
        filter 则可以过滤请求,整个 web 项目级别的过滤。

    -->


    <display-name>hongbin_liu.demo.spring</display-name>

    <!-- 配置容器上下文  spring-config.xml 容器上下文 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-config.xml</param-value>
    </context-param>

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

    <!--web项目中上下文初始化参数, name value的形式 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--可以不指定 springmvc 的init-param 参数,默认参数为  <servlet-name> + "-servlet"-->
        <load-on-startup>1</load-on-startup>  <!--装载优先级-->
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>requestLog</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <async-supported>true</async-supported>
    </filter>
    <filter-mapping>
        <filter-name>requestLog</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>




</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--
        servlet 配置
        1.  首先明确serlvet是干什么的,servlet 是 部署在tomcat容器上的对接容器,主要用于管理 项目的接口;
          其中包括,接口数据input/output。 以及容器的各部分特征;
          另外一点就是  在 springMVC 项目中,servlet 其实是 spring 容器的包裹容器,不关心spring容器内部处理机制,
          但是关心 spring 容器的进出。

        2.  扫包,只要是容器就有处理@annotation的能力。因为 它是管理所有代码的容器,扫包的原理无非就是 扫描项目文件的.class, .xml, .propertier等文件。
            并启动一个容器实例,也是一个运行的程序。
        3.  既然负责spring容器外围的进出,web容器的核心。当然需要配置上体现出 @responbody的存在。
    -->




    <!-- 载入webConfig 该文件定义HandlerMethodReturnValueHandler,以及ExceptionResolver -->
    <context:component-scan base-package="com.lhb.spring">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <bean id="objectMapper" class="com.wormpex.api.json.JsonUtil" factory-method="instance"/>

    <bean id="mappingJackson2HttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="objectMapper" ref="objectMapper"/>
        <property name="supportedMediaTypes">
            <list>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>

</beans>

 

从零开始的 AI Infra 学习之路 AI Infra(AI 基础设施)是指为上层的 AI 算法应用提供支持的 AI 全栈底层技术,通过合理利用计算机体系结构,可以实现 AI 计算的加速和部署。AI Infra 主要包括以下内容:AI 训练框架 & 推理引擎;AI 编译 & 计算架构;AI 硬件 & 体系结构。参考资料:;。 阅读详情

相关推荐

R语言笔记十:独立性检验函数

1.独立性检验函数        独立性检验是根据频数信息判断两类因子彼此相关或相互独立的假设检验。所谓独立性就是指变量之间是独立的,没有关系。 独立性检验算法:卡方检验、Fisher检验、Cochran-Mantel-Haenszel检验 2.假设检验 假设检验(Hypothesis Testing)是数理统计学中根据一定假设条件由样本推断总体的一种方法。 原假设——没有发生 备择假设——发生了 具体做法:根据问题的需要对所研究的总体作

weixin_44384631的博客 4088

spring-config.xml

代码】spring-config.xml

reg183的专栏 826

怡趣X2投影仪固件 RK3128芯片方案

怡趣X2投影仪固件 RK3128芯片方案

spring中的配置文件的理解

  1、问题: 今天看到了spring-config.xml文件,发现里面的一些配置不是很理解,包括如下这样的代码:  图一: &lt;context:component-scan base-package="com.ztesoft.bss.common.util" /&gt; &lt;context:component-scan base-package="com.ztesoft.b...

luzijun1992的博客 2063

Springconfig.xml配置

以下三行必写,不能更改 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"&gt; Bean的类: &lt;bean id=&

老司机让开,Java新手来了 1009

spring之基本配置spring-config.xml头部

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="ht

qq_42711032的博客 952

pom.xmlspring-config.xml

Maven核心配置文件pom.xmlSpring配置文件spring-config.xml

我的主页 924

SpringMVC

运行时要使用tomcat11,不然会出意外,反正我意外了spring版本太新了,有很多问题。。呜呜呜源码链接 https://gitee.com/nan-mu-wang/spring

学习指针路上的小学渣的博客 2116

ssm,spring,mybaties,springmvc配置文件

本文提供了基于SSM(Spring+SpringMVC+MyBatis)框架的Java Web项目配置示例,包含以下主要内容: 项目配置文件:包括MyBatis的sqlMapConfig.xmlSpring的applicationContext-*.xml系列配置文件(dao/service/transaction)、SpringMVC配置以及数据库连接配置(db.properties) Web应用部署描述文件web.xml的完整配置 Mapper接口ItemMapper.java及其XML映射文件

java_man1的博客 1845

Spring MVC之基于java configxml配置web应用构建

更多spring相关博文参考: http://spring.hhui.top 前一篇博文讲了SpringMVC+web.xml的方式创建web应用,用过SpringBoot的童鞋都知道,早就没有xml什么事情了,其实Spring 3+, Servlet 3+的版本,就已经支持java config,不用再写xml;本篇将介绍下,如何利用java config取代xml配置 本篇博文,建议和上一...

小灰灰blog的专栏 442

SpringMVC 5.3.1 + Thymeleaf 3.0.12 项目配置:3个关键依赖与2个XML文件详解

本文详细解析了如何在IDEA中使用Maven创建SpringMVC 5.3.1与Thymeleaf 3.0.12的Web项目配置,包括3个关键依赖的引入和2个核心XML文件的优化设置。通过精简依赖组合和现代化XML配置,帮助开发者快速搭建高效、可维护的Java Web应用框架。

weixin_34195364的博客 430

web.xml文件配置说明

web.xml作用: web.xml主要用来配置Filter、Listener、Servlet等,当我们去启动一个WEB项目时,容器(jetty、tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。 web.xml配置元素的加载顺序: <context-param> -> <liste...

dmxhcwk90096748的博客 89

零基础SSM入门教程(16)--完整实现一个SpringMVC实例(使用xml配置SpringMVC)

背景 之前所讲的程序,都是普通的Java Project,也就是说输出都是从控制台输出的,比较简单。 SpringMVCweb应用,所以需要部署到web服务器(本文采用Tomcat)上运行,项目结构与Java Project也不同。 所以本文会从头到尾详细的说明下使用SpringMVC开发web项目的过程。 注意本文依然使用导入jar包的形式进行操作,而不使用mavan,还是因为觉得会maven...

编程副队长 1230

springxml方式配置bean

springxml方式配置bean

qq_56677326的博客 1401

模拟Spring源码思想,读取Spring Config配置文件,创建IOC容器,解析spring.xml,创建对象,放入IOC容器,注入依赖

其中,getBeanDefinitionNames() 方法返回一个字符串数组,里面存放了所有在 IOC 容器中注册的 bean 对象的名称。遍历输出这个数组就能够查看当前 IOC 容器中有哪些 bean 对象。

小丁的博客 1090

spring配置文件-spring-config.xml

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"        default-lazy-init="true">                          

wzh_csdn的博客 2149

一个spring-config.xml文件

一个spring-config.xml文件

wyh9459的专栏 5664

Spring applicationContext.xml配置文件理解

&lt;bean id="user" class="User"&gt; &lt;property name="userName"&gt; &lt;value&gt;duan&lt;/value&gt; &lt;/property&gt; &lt;/bean&gt; 那么User类中必须有setUserName这个方法 https:/

段小宝的博客 3478

spring-config.xml 配置文件头

一、Spring xml 文档头 官网地址:https://docs.spring.io/spring-framework/docs/current/reference/html/core.html <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchem

散修 · 浪人 365
上一篇: spring学习笔记
下一篇: 个人随笔--threadLocal应用实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值