SpringMV注入

一【实体Entity:与数据库中的表对应
1、spring不会注入entity,使用时需要使用new方法创建实例。

二【repository:数据库操作接口
1、创建接口:

public interface StudentRepository extends
PagingAndSortingRepository<Entity, String>{}

2、需要注入时:

@Resource(name = "studentRepository")
//Resource中类名第一个字母小写。
private StudentRepository repository;

3、两种数据库操作方法:
1):

Page<Entity> findByALikeAndBLikeIgnoreCase(String A,String B, Pageable pageable);

2):

@Query("select student.name from Student student  where student.class.id in (select class.id from Class class where class.name like ?1)")
//?1代表第一个参数
Page<Student> findByConditions(String className,Pageable pageable);

说明:1、strdent表的class属性是class表的外键,多对一映射。class属性是实体类型。
    在Student实体中申明

/**
 *学生所在班级。
 */
@ManyToOne
@JoinColumn(name = "class")
private Class class;

2、搜索班级名类似className的班级的所有学生名。

三【service:服务接口
申明接口,并在service.impl中实现。
需要注入时:

@Resource(name = "studentservice")
private StudentService studentService;

四【service.impl:服务实现
申明实现:

@Service("studentservice")

实现service中的接口。

五【controller:控制器
申明:

@Controller
//申明控制器。
@RequestMapping("/a")
//匹配请求路径,第一个/表示根,如果匹配成功,请求由该控制器处理。
//控制器只有第一次调用时加载,全局属性用于所有请求。
@RequestMapping(method = RequestMethod.GET)
@RequestMapping(value = "/b", method = RequestMethod.GET)
//匹配方法,没有value表示匹配/a,有value表示匹配在/a的基础上加上value,即匹配/a/b
//method表示请求类型,如果没有申明,表示匹配所有请求方法,包括GET,POST。

方法参数:

@Valid Student student,BindingResult bindingResult

//如果请求参数中包括Student实体属性,会自动封装到对象student中。

//然后由bindingResult检测参数是否符合Student实体对属性的规定。

//如果不符合

//if (bindingResult.hasErrors()) {

//    return "/error";

//}

@RequestParam(value = "result", required = false) String result,

//参数result,不是必须的。

@PathVariable String id,

//路径中的参数,@RequestMapping(value = "/{id}", method = RequestMethod.GET)

@PageableDefault(page = 0, size = PAGE_SIZE) Pageable pageable,

//默认首页,页面大小为PAGE_SIZE。

Model model

//将处理结果数据封装到model,传给页面显示

//model.addAttribute("page", page);

//model.addAttribute("pageable", pageable);

返回页面:

return "/show"
//显示根目录下的show.ftl页面
//页面可以获得model中的数据,组装成html页面,返回给客户端。
return "/a/b"
//服务器端重定向到/a/b页面(客户端url不会改变)。
return "redirect:/a/b"
//客户端重定向到/a/b页面(客户端url改变)。
时间: 2024-10-17 02:04:16

SpringMV注入的相关文章

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Webshell上传.命令注入.非法HTTP协议请求.非授权文件访问等.

别人的渗透测试(三)--SQL显错注入

续上一章. 安全狗拦下7成的人,过狗是门学问,偷笑.jpg.很感谢和https://home.cnblogs.com/u/xishaonian/ 博主能一起研究过狗. 说多了,言归正传SQL注入大显错.只适用MYSQL,其它数据库没学呢... 1.count,rand,floor 2.updatexml()[最大长度限制32位] 3.extractvalue()[最大长度限制32位] 4.geometrycollection() 5.multipoint() 6.polygon() 7.mult

Angularjs[补21] - 显示注入,隐示注入

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div ng-app="myApp"> <div ng-controller="secondController"> &

报错注入分析之updatexml注入

PS:今天元旦,家里打来电话说,今年春节要回老家.心里倍感恐惧.可以清楚的感觉得到父母说话的气息没有底气.大概如同我一样是恐惧吧.加油吧!努力赚钱! 回归正题:updatexml注入 首先了解一下什么是updatexml函数. 前言:相比基于查询的SQL注入,使用insert.update和delete进行SQL注入显得略显另类 参考自:http://www.exploit-db.com/wp-content/themes/exploit/docs/33253.pdf 0x1 准备条件 a. m

sql注入初中高学习

以下三篇文件关于SQL注入写的很通俗易懂,整理收藏下 渗透攻防Web篇-SQL注入攻击初级: http://bbs.ichunqiu.com/thread-9518-1-1.html 渗透攻防Web篇-SQL注入攻击中级: http://bbs.ichunqiu.com/thread-9668-1-1.html 渗透攻防Web篇-SQL注入攻击高级: http://bbs.ichunqiu.com/thread-10093-1-1.html

Spring quartz定时任务service注入问题

今天想单元测试一下spring中的quartz定时任务,一顿折腾,到最后总是发现job类里注入的service为null.一开始还以为spring的配置问题,各种找原因,最后还是确定是没有注入. 就去网上搜搜吧.也找出来一些眉目.简单的理解这个原因是job是在quartz中实例化出来的,不受spring的管理.所以就导致注入不进去了.参考这个文章 http://www.tuicool.com/articles/Qjyamu 找着试试的态度,就按照文章里说的.new一个类 public class

php中防止SQL注入的方法

[一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全.整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨.我们先使用任何编辑工具打开 /etc/local/apache2/conf/php.ini,如果你是采用其他方式安装,配置文件

简单实用的PHP防注入类实例

这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注入类.分享给大家供大家参考.具体如下: PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两个简单的例子,希望这些例子能给你网站带来安全. PHP防注入类代码如下: 复制代码 代码如下: <?php /**  * 参数处理类  *

iOS控制反转(IoC)与依赖注入(DI)的实现

背景 最近接触了一段时间的SpringMVC,对其控制反转(IoC)和依赖注入(DI)印象深刻,此后便一直在思考如何使用OC语言较好的实现这两个功能.Java语言自带的注解特性为IoC和DI带来了极大的方便,要在OC上较好的实现这两个功能,需要一些小小的技巧. 控制反转和依赖注入 控制反转 简单来说,将一个类对象的创建由手动new方式改为从IOC容器内获取,就是一种控制反转,例如我们现在要创建一个ClassA类,则常规方法为 ClassA *a = [ClassA new]; 如果使用控制反转,