spring3.X版本知识点
2024-09-01 09:39:56
一、SpringMVC重点注解
@Controller
1.@Controller 与 @Component 实际应用中作用等价。
2.和Struct一样,也是单例,意味着被多个请求线程共享,因此我们将控制器设计成无状态类。
@RequestMapping
1.在类前面定义,则将url和类绑定。
2.在方法前面定义,则将url和类的方法绑定。
@RequestParam
1.写法@RequestParam("参数"),写在参数前面。
@SessionAttributes
操作Session,将ModelMap中指定的属性放到session中。
放在类前面,@SessionAttributes({"u","a"}) //将ModelMap中属性名字为u、a的再放入session中,使得request和session中都有了。
ModelMap是map的实现,可在其中存放属性,作用域同request,可以在modelMap中放入数据。然后在forward的页面上显示这些数据,同过el表达式,JSTL,java代码均可。
@ModelAttributes
。。。
Controller 类中方法返回值的处理
1.常用返回String(建议)
根据返回值找对应的显示页面,路径规则为:prefix前缀+返回值+suffix后缀组成
@RequestMapping(params="method=reg4")
public String reg4(ModelMap map) {
System.out.println("HelloController.handleRequest()");
return "index";
}
前缀为:/WEB-INF/jsp/ 后缀为:.jsp
再转发到:/WEB-INF/jsp/index.jsp
2.也可以返回ModelMap、ModelAndView、map、List、Set、Object、无返回值。 一般建议返回字符串!
转发和重定向:return "forward:user.do?method=reg5"; //转发
// return "redirect:user.do?method=reg5"; //重定向
return "redirect:http://www.baidu.com"; //重定向
3.spring MVC 传参数都是经过 ModelMap 或者 ModelAndView
二、Spring全家桶概念
核心原理:
1.用户发送请求给服务器:url;
2.服务器收到请求。发现DispatchServlet 可以处理,于是调用DispatchServlet。
3.DispatchServlet 内部,通过HandleMapping检查这个url 有没有相对应的Controller。有则调用Controller。
4.Controller 开始执行。
5.Controller 执行完毕,如果返回字符串,则ViewResolver 将字符串转化成相应的视图对象,如果返回ModelAndView对象,该对象本身就包含视图对象信息。
6.DispatchServlet 将执行视图对象中的数据,输出给服务器。
7.服务器将数据输出给客户端。
Spring3.0 相关jar包的含义:
org.springframework.aop-3.0.3.RELEASE.jar ---Spring的aop面向切面编程。
org.springframework.asm-3.0.3.RELEASE.jar ---Spring独立的asm字节码生成程序。
org.springframework.beans-3.0.3.RELEASE.jar ---IOC的基础实现。
org.springframework.context-3.0.3.RELEASE.jar --IOC基础上的扩展服务。
org.springframework.core-3.0.3.RELEASE.jar ---spring的核心包。
org.springframework.expression-3.0.3.RELEASE.jar ---spring的表达式语言。如:ognl
org.springframework.web-3.0.3.RELEASE.jar ---web工具包。
org.springframework.web.servlet-3.0.3.RELEASE.jar ---mvc工具包。
三、SpringJDBC概念
Spring JDBC抽象框架所带来的价值将在以下几个方面得以体现:(注:使用了Spring JDBC抽象框架之后,应用开发人员只需要完成斜体字部分的编码工作。)
定义数据库连接参数
打开数据库连接
声明SQL语句
预编译并执行SQL语句
遍历查询结果(如果需要的话)
处理每一次遍历操作
处理抛出的任何异常
处理事务
关闭数据库连接
Spring将替我们完成所有使用JDBC API进行开发的单调乏味的、底层细节处理工作。
四、Spring 中的 Bean的作用域
作用域 | 描述 |
---|---|
在每个Spring IoC容器中一个bean定义对应一个对象实例。 |
|
一个bean定义对应多个对象实例。 |
|
在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的SpringApplicationContext情形下有效。 |
|
在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。 |
|
在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。 |
最新文章
- angular_ui-router ——依赖注入
- Ngrok 内网穿透利器
- 精华 ionic入门之色彩、图标、边距和界面组件:列表
- Js学习笔记一(鼠标事件.....)
- HDU 1165 Eddy's research II
- 浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
- 关于表 datatable的条件查询
- csv转json文件
- Java线程间通信-回调的实现方式
- Struts1、Struts2和SpringMVC剖析【转载】
- bzoj1005
- $ cd `dirname $0` 和PWD%/* shell变量的一些特殊用法
- Oracle维护:每天的工作
- ID3算法(2)
- 学习UI的总结
- Healwire Online Pharmacy 3.0 Cross Site Request Forgery / Cross Site Scripting
- Perl多线程(2):数据共享和线程安全
- beta冲刺1/7
- Linux创建用户与权限赋值
- K8S 使用NFS 创建PV和PVC的例子 学习From https://blog.csdn.net/xts_huangxin/article/details/51494472
热门文章
- 容器云平台No.5~企业级私有镜像仓库Harbor V2.02
- Mybatis的几种传参方式,你了解吗?
- dubbo学习(一)认识dubbo
- 使用jsonify返回json数据
- (一)jenkins+git+docker
- 为啥你用@JsonFormat注解时,LocalDateTime会反序列化失败?
- python 报错 wxPyDeprecationWarning: Using deprecated class PySimpleApp.
- 在C++中使用libuv时对回调的处理 (2)
- 实验 6:OpenDaylight 实验——OpenDaylight 及 Postman 实现流表下发
- 初始python模块