SpringMVC稳扎稳打(1)之入门篇

三态门Multisim电路仿真——硬件工程师笔记 三态门原理及应用摘要 三态门是具有高电平(1)、低电平(0)和高阻态(Z)三种输出的逻辑电路,通过使能端(EN)控制状态切换。高阻态时输出端等效断路,避免信号冲突。其核心应用包括: 总线系统:多设备共享总线时,仅使能选中设备的三态门,其余保持高阻态,防止干扰。 数据选择器:利用三态门切换多路输入信号,简化电路设计。 实现方式分两种: TTL三态门(三极管构成):低电平使能有效,仿真验证输出逻辑与高阻态。 MOS三态门(MOS管构成):高电平使能有效,仿真显示使能信号控制输出状态。 文中还附硬件工程师笔试面试 阅读详情

零、前言

       我看很多大神级别的博客、都是大神级别的!发现很多写很多!也没有什么注释什么的!新手很难理解!新手一看什么都不懂(懵逼了)。

        作为刚入门的程序员、小白是这样去学习编程:

                —— Do it first!                             —— 先去做!
                —— How to do it!                        —— 怎么做!
                —— Look at the source code!     —— 看源代码!


一、SpringMVC简介

       Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,Spring 框架提供了构建Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。

       Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来:



二、先来个入门的 hello word 来体验一下!maven项目!

——前提是安装maven!不安装的话自己导包就可以了!、不会maven的朋友看看这篇文章:maven教程


1、看看我们第一个controller(后面再讲controller、后续在详谈。我看过大神级别的说过、我们编程都是先做!在研究怎么做!)
package cn.czy.com.spring.web.mvc.hello;


import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;

//控制器
@Controller
public class HelloController{
	
	//用注解的方式写第一个springmvc hello world例子
	@RequestMapping(value="/hello")
	public String hello(HttpServletRequest request){
		request.setAttribute("message1", "Hello Spring MVC Framework!");
		request.setAttribute("message2", "chen zheng you !");
		System.out.println(" hello , ChenZhengYou !");
		return "hello/hello";
	}

}

2、看看我们的hello.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
		
		<h1>第一个参数:${message1 }</h1>
		<h1>第二个参数:${message2}</h1>
</body>
</html>

3、看看我们的web.xml文件
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_0.xsd"
         version="3.1">


<welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

    <!-- 前端控制器 -->
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:spring/spring-*.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!--第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析 -->
    <!--第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析 -->
    <!-- 使用此种方式可以实现 RESTful风格的url -->
    <!--第三种:/*,这样配置不对,使用这种配置,最终要转发到一个jsp页面时, 仍然会由DispatcherServlet解析jsp地址, -->
    <!-- 不能根据jsp页面找到handler,会报错。 -->
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>




    <!-- 解决post请求乱码问题 -->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>


4、看看我们的spring-mvc配置文件
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
		http://www.springframework.org/schema/mvc 
		http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.2.xsd 
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">


    <!-- 第一个hello word !注解的方式实现! -->
    <context:component-scan base-package="cn.czy.com.spring.web.mvc" />

    <!--核心学点1 -->
    <!--注解映射器 -->
    <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> -->
    <!--注解适配器 -->
    <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> -->

    <!-- 使用 mvc:annotation-driven代替上边注解映射器和注解适配器配置 -->
    <!-- mvc:annotation-driven默认加载很多的参数绑定方法, -->
    <!-- 比如json转换解析器就默认加载了,如果使用mvc:annotation-driven, -->
    <!-- 不用配置上边的RequestMappingHandlerMapping和RequestMappingHandlerAdapter, -->
    <!-- 实际开发时使用mvc:annotation-driven   -->
    <mvc:annotation-driven></mvc:annotation-driven>

    <!-- 核心学点2 -->
    <!-- 视图解析器 -->
    <!-- 解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置jsp路径的前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- 配置jsp路径的后缀 -->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

5、看看我们的目录结构吧!


6、我们的pom.xml文件(可能我的依赖很多、那是因为我整合了mybatis、日志什么的!其实springmvc只需要一个包就好《前提是maven!spring-mvc依赖包、那就自动下载很多了、比如spring-context等等!)
还有这个<!-- maven 编译部署src/main/java下的资源文件 -->是我用idea开发的、默认不加载!
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.com</groupId>
    <artifactId>ssm.com</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>ssm.com Maven Webapp</name>
    <url>http://maven.apache.org</url>


    <properties>
        <!-- maven依赖-->
        <junit.version>3.8.1</junit.version>
        <jstl.version>1.2</jstl.version>
        <cglib.version>2.2.2</cglib.version>
        <standard.version>1.1.2</standard.version>
        <servlet.version>3.1.0</servlet.version>
        
        <spring-webmvc.version>4.2.2.RELEASE</spring-webmvc.version>
        <spring-orm.version>4.3.3.RELEASE</spring-orm.version>
        <spring-test.version>4.3.3.RELEASE</spring-test.version>
      
        <log4j.version>1.2.17</log4j.version>
        <slf4j-api.version>1.7.20</slf4j-api.version>
        <org.slf4j.version>1.7.7</org.slf4j.version>
        <commons-dbutils.version>1.6</commons-dbutils.version>
    </properties>
    <dependencies>

        <!-- 1)junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- 2)jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>${jstl.version}</version>
        </dependency>
        <!-- standard -->
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>${standard.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- 3)servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${servlet.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring-webmvc.version}</version>
        </dependency>

        <!-- spring-test-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring-test.version}</version>
            <type>jar</type>
            <scope>test</scope>
        </dependency>
       
        <!-- spring-orm -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring-orm.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j-api.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>

    </dependencies>


    <build>

        <!-- 项目id -->
        <finalName>${project.artifactId}</finalName>

        <plugins>
            <!-- java编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>${maven-java-compiler-plugin}</source>
                    <target>${maven-java-compiler-plugin}</target>
                    <encoding>${maven-java-compiler-plugin-encoding}</encoding>
                </configuration>
            </plugin>
        </plugins>

        <!-- maven 编译部署src/main/java下的资源文件 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>

    </build>


</project>

7、你就可以成功运行你的第一hello word 了!页面效果图!

三、分析一下传统的mvc和springmvc的架构!

1.1    传统的Web MVC架构图(自己用画图画的、小白勿喷!)

mvc设计模式在b/s系统下应用:


1、用户发起request请求至控制器(Controller)

                —控制接收用户请求的数据,委托给模型进行处理

2、控制器通过模型(Model)处理数据并得到处理结果

                —模型通常是指业务逻辑

3、模型处理结果返回给控制器

4、控制器将模型数据在视图(View)中展示

                —web中模型无法将数据直接在视图上显示,需要通过控制器完成。如果在C/S应用中模型是可以将数据在视图中展示的。

5、控制器将视图response响应给用户

                —通过视图展示给用户要的数据或处理结果。


1.2    Springmvc 架构图

四、Springmvc的流程!

4.1Springmvc架构流程

                1、用户发送请求至前端控制器DispatcherServlet

                2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。

                3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

                4、DispatcherServlet通过HandlerAdapter处理器适配器

                5、执行处理器(Controller,也叫后端控制器)。

                6、Controller执行完成返回ModelAndView

                7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

                8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器

                9、ViewReslover解析后返回具体View

                10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

                11、DispatcherServlet响应用户


4.2  组件说明

以下组件通常使用框架提供实现:

——》DispatcherServlet:前端控制器

       用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。


——》HandlerMapping:处理器映射器

       HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。


——》Handler:处理器

       Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。

       由于Handler涉及到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发Handler。

 

——》HandlAdapter:处理器适配器

       通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

 

——》View Resolver:视图解析器

       View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。 springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等。

       一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。


五、这就是springmvc的入门程序!

总结:通过入门程序理解

springmvc前端控制器(web.xml文件)、

处理器映射器(spring-mvc.xml文件里有注释)、

处理器适配器(spring-mvc.xml文件里有注释)、

视图解析器(spring-mvc.xml文件里有注释)用法。


系列文章








YOLO26 改进 | 基于特征蒸馏 | 知识蒸馏 (Response & Feature-based Distillation) 本文系统介绍了YOLO26中的知识蒸馏技术,包含五大核心方法:基于响应的蒸馏(学习分类概率)、基于特征的蒸馏(学习中间层表示)、基于关系的蒸馏(学习特征关联)、通道维度蒸馏(CWD)和前景背景分离蒸馏(FGD)。文章深入解析了每种方法的数学原理与实现细节,并提出动态训练策略,包括一致性匹配和蒸馏权重退火机制。通过教师模型向学生模型传递"暗知识",在保持模型轻量化的同时逼近大模型性能。配套代码支持模块化组合不同蒸馏方法,为YOLO26模型压缩提供了一套完整的解决方案。 阅读详情

相关推荐

python基础语法与数据结构

本文摘要: Python基础语法包含输入输出、函数、变量、数据类型及运算符等内容。输入函数input()获取键盘输入并以字符串存储,输出函数print()可格式化输出数据。函数通过def定义,可带参数和返回值,提高代码复用性。变量无需声明类型,可动态赋值。数据类型包括数字、字符串、布尔及复合类型,可通过type()查看。运算符包含算术、赋值等类型,其中复合赋值运算符如+=可简化运算。类型转换函数如int()、str()等可实现显式类型转换。这些基础语法构成Python编程的核心要素。

MM602388的博客 436

SpringMVC入门到理解之开门篇

我看很多大神级别的博客、都是大神级别的!发现很多写很多!也没有什么注释什么的!新手很难理解!新手一看什么都不懂(懵逼了)。 作为刚入门的程序员、小白是这样去学习编程: ——Do it first! ——先去做!——How to do it! ——怎么做!——Look at the source code! ——看源代码!(废话不多说、来吧!先看...

用心做每件事 341

得物APP破解

本文介绍了得物App(版本4.74.5)的逆向破解过程,重点分析了绕过强制更新、抓包技巧以及破解newSign参数的详细方法。首先通过断网再联网的方式绕过强制更新,然后使用SocksDroid进行抓包分析,发现首页推荐接口需要newSign参数。通过反编译定位到RequestUtils.c方法,利用Frida进行Hook验证,最终解析出newSign的生成逻辑:将请求参数加入固定字段后排序拼接,再进行MD5加密生成签名。文中提供了完整的Hook脚本和签名算法分析,仅供学习移动安全技术参考。

m0_74653634的博客 3510

springMVC学习,个人入门学习小结。

刚入门springMvc,工作中有使用,但由于感触不深理解起来也困难,所以也算是找个机会学习并把所遇到的问题,记录便于查看。 有个问题已一直困扰两天,就是搭建好springMvc环境后也就是Holle word入门时,环境一直报错。 目前现状: jar文件已导入 spring框架支持包(spring-framework-3.1.1.RELEASE-with-docs.zip)

在路上的小马达 624

【从零开始学Skynet】实战篇《球球大作战》(一):功能设计

为了能把之前在基础篇中学习到的Skynet的各种知识结合起来,所以在实战篇中,我们准备开发一个完整的游戏案例《球球大作战》,介绍分布式游戏服务端的实现方法。

我是一条寻水的鱼 2986

视频教程-SAP S4 HANA FICO COPA 获利能力分析-ERP

SAP S4 HANA FICO COPA 获利能力分析 从业超过8年的SA...

weixin_33456805的博客 1444

SpringMVC简单理解

SpringMVC是一个web底层框架,用来简化我们获取客户端传来数据的方式和简化返回数据的。它的底层源码也看过,了解那么一点,首先来说一下它的底层原理。 底层原理: 用户向服务器发送请求,请求被前端控制器DispatcherServet截获,请求查询Handler,调用处理器映射器HandlerMapping,根据xml配置和注解找到具体的Handler,底层源码是通过一个doService...

zhang_rk的博客 899

【Bug已解决】Codex CLI 报错 apply_patch 失败:无法应用补丁的解决方案

方案适用场景推荐指数统一换行符规范跨平台协作项目的标准配置⭐⭐⭐⭐⭐关闭自动格式化冲突IDE 与 Codex 并发编辑同一文件⭐⭐⭐⭐缩小任务改动范围长期有效的使用习惯优化⭐⭐⭐⭐⭐统一 UTF-8 编码涉及非 UTF-8 遗留文件的项目⭐⭐⭐提示重新读取文件单次失败后的快速恢复方式⭐⭐⭐⭐报错的本质是Codex 生成补丁时读取的文件内容,与实际应用补丁时磁盘上的文件内容出现了不一致,常见诱因包括换行符风格混用、文件被其他工具并发修改、编码问题等。

一键难忘的博客 7310

关于spring mvc的一点自己的理解

接触spring mvc的时间不长 以我现在的理解写出自己对spring mvc的一点自己的理解,如有错误,欢迎指正   (Monkey  Email:freedom521fd@163.com) 首先先来看一下spring mvc的工作流程(下面的内容说的很详细了,不做修改)重要理解 controller和前端控制器 (个人观点,在spring mvc架构中,其实有两个控制器,一个是Disp

心素 3311

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 824

化工仿真软件:gPROMS二次开发_(1).gPROMS基础知识

在gPROMS中,模型是通过定义变量、参数和方程来创建的。模型可以是简单的单元操作,如换热器、反应器,也可以是复杂的系统,如整个化工流程。变量是模型中表示状态或输出的量。在gPROMS中,变量需要显式定义其类型和单位。# 定义变量VAR# 温度变量,单位为K# 压力变量,单位为Pa# 组分摩尔分数,数组变量参数是模型中表示常量或初始条件的量。参数同样需要定义其类型和单位。# 定义参数PAR# 理想气体常数,单位为J/(mol·K)# 反应器体积,单位为m^3# 初始摩尔数。

kkchenjj的博客 619

SpringMVC个人理解

1. SpringMVC框架2.执行流程①用户发送请求至前端控制器(DispatcherServlet,相当于一个分发器)②DispatcherServlet接收到请求后调用HandlerMapping处理器映射器,寻找到对应的具体处理器,返回处理器拦截器(HandleIntercepter)和处理器对象(Handler)给DispatcherServlet③DispatcherServlet通过...

南来 3250

全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数据信号方面,常见的格式有RGB888、RGB666、RGB565。为什么有什么多选择,主要还是取决于soc pin脚的多少来定。当然,pin脚越多,显示的颜色就越精准,还原度就越高。 举例来说,假设

嵌入式-老费,一个分享专业嵌入式知识的blog 2797

SpringMVC稳扎稳打(2)之控制器

DispathcerServlet作为springmvc的中央调度器存在,DispatcherServlet创建时会默认从DispatcherServlet.properties文件加载springmvc所用的各各组件,如果在springmvc.xml中配置了组件则以springmvc.xml中配置的为准,DispatcherServlet的存在降低了springmvc各各组件之间的耦合度。

用心做每件事 1989

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SpringMVC稳扎稳打(3)之拦截器

SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。 DispatcherServlet是前置控制器,配置在web.xml文件中的。 由preHandle 方法的解释我们知道这个方法包括后面要说到的afterCompletion方法都只能是在当前所属的Interceptor 的preHandle 方法的返回值为true 时才能被调用。postHandle 方法,顾名思义就是在当前请求进行处理之后,也就是Controller 方法调用之后执行

用心做每件事 1156

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

04 - springMVC三大组件配置详解

springMVC三大组件配置概述1. springMVC默认加载组件2.配置文件解读3.配置视图解析器 概述 上篇分析了springMVC的架构流程,这篇对三大组件的配置文件解读一下。 1. springMVC默认加载组件 记得在springMVC入门小实例中,指定的springMVC并没有添加这三大组件的配置信息就可以使用这些组件, 仅仅配置了扫描@controler的注解, 为什么? 是因为...

学无止境 882

Spring 的 “夺命连环问”,你准备好了吗?

好啦,话不多说,咱们赶紧开始今天的面试题之旅吧!第四,B需要注入A,通过三级缓存中获取ObjectFactory来生成一个A的对象同时存入二级缓存,这个是有两种情况,一个是可能是A的普通对象,另外一个是A的代理对象,都可以让ObjectFactory来生产对应的对象,这也是三级缓存的关键。主要思路是这样的,使用aop中的环绕通知+切点表达式,这个表达式就是要找到要记录日志的方法,然后通过环绕通知的参数获取请求方法的参数,比如类信息、方法信息、注解、请求方式等,获取到这些参数以后,保存到数据库。

m0_68778396的博客 1072

那些人生“开挂”的Java程序员,原来是这样做到的!

经常看到网上有人晒出工资单,程序员薪资高出其他岗位很多,我认为他们如此“开挂”的人生,定是私下努力奋斗才有的结果。在羡慕之余你首先想一下,你为自己的目标付出过几分努力吗?前蚂蚁金服Jav...

sinat_32849897的博客 252

太赞了!Java基础到高级太全面了!

很多人自学Java,基本都是看书啃语法开始,不说语法晦涩难懂,仅入门就至少需要几个月,遇到问题也没有人帮忙解答。这样的学习方式会有一个问题:理论都懂,但是一上手写代码,思考半天却一头雾水...

Python大本营的博客 269

这是一篇警示贴

这是一篇无关技术的帖子,只是记录自己今天的感悟。 WHY 起因是今天用文本文档随便写了一个入门的Hello World,3行代码,4个错误。这是一个上了5年学,工作1年多的程序媛写出来的代码,狠狠的一个巴掌,打醒了整天不切实际的我。无论做什么,还是要脚踏实地,稳扎稳打,打好基础。 今天开始每天拿出最少1小时重新学习回顾Java基础知识,基础知识牢固以后,再想着学习其它。没学过 Spring 便想着学习 SpringMVC、Spring Boot,这种跳跃式的学习,只会一知半解理解不透彻。 WHAT 贴出代码

weixin_42397269的博客 214

合辑 | 面试必备!18篇Java面试疑难点详解

简介:就目前就业环境来看,学习Java软件开发是不会过时的,据各大招聘网站统计,Java程序员的需求10年来一直跃居首位。本节小编汇总了18篇Java面试相关的疑难点解析,知识点+理论详解帮助你稳扎稳打,学好Java不再是难事~ Java数据库开发 1.面试疑难点解析——Java数据库开发(一) 当面试官提问数据库优化及NoSQL使用场景时,该如何回答?在现实的开发环境之中所谓的数据库优...

阿里云开发者 6818

Java Web开发实战

JavaWEB是Java企业级开发平台中的重要组成技术,同时也是所有开发者迈向正规开发的第一步,扎实的WEB技术理解以及良好的WEB程序设计都决定了项目架构的设计基础能力,而通过本课程的学习就可以帮助读者充分的理解WEB开发中的技术特点、性能调优以及项目设计模式。 本课程主要通过大量的课程代码实例为读者详细的讲解了JSP、Servlet、MVC等JavaWEB中的核心开发技术,同时又通过手工的方式结合反射机制实现了MVC开发框架,这样不仅可以帮助读者更好的理解MVC的设计思想,同时也为后续的SpringMV

yootk的博客 551

Java匹马行天下——开篇学习计划

个人感言:&#13; 匹马行天下是我高中时候看过一部叫《九鼎记》的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事。现在回想,依旧心潮澎湃。此次我以Java匹马行天下命名,本意稳扎稳打,一心精修Java,匹马行天下,以此充实我的大学生活,乃至我的人生。希望不负初心,砥砺前行!&#13; ...

泰斗贤若如的博客 184

倒退10年,我不想学Java了!

Java 凭借着面向对象、跨平台、可移植、高性能等优势,横扫各大编程语言榜单,即使时常有“XX语言即将替代 Java”的说法,但自始至终 Java 在仍是编程语言的王者!我也问过很多初...

sinat_32849897的博客 410

Java程序员,怎么才能独立完成项目?

Java 在各大企业都作为主流开发语言,这也是 Java 经久不衰、很多人学 Java 的主要原因。但每当面试时,经常遇到这种问题:“你有什么实战项目经验吗?”“你了解微服务、Redis....

sinat_32849897的博客 1161

躺平,这样的Java程序员才有资格!

最近的热门话题除了放开三胎政策,还有“躺平”,躺平,并不意味着什么都不做,对任何事都不负责任。实现自我价值的同时,“微躺”还是可以的。我见过很多程序员已经实现了躺平,他们持续输入、输出,并...

Python大本营的博客 378

那些Java工程师,都是怎么学成的?

Java 在各大企业都作为主流开发语言,这也是 Java 经久不衰、很多人学 Java 的主要原因。但每当面试时,经常遇到这种问题:“你有什么实战项目经验吗?”“你了解微服务、Redis....

Python大本营的博客 364
上一篇: SpringMVC入门到理解之开门篇
下一篇: ssm整合maven项目启动报错、架包冲突
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值