springmvc注解

Spring和SpringMVC的常用注解

有些话、适合烂在心里 提交于 2019-12-31 08:10:08
Spring的部分: 使用注解之前要开启自动扫描功能 其中base-package为需要扫描的包(含子包)。 <context:component-scan base-package="cn.test"/> 1.声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C) 2.注入bean的注解 @Autowired:由Spring提供 @Inject:由JSR-330提供 @Resource:由JSR-250提供 都可以注解在set方法和属性上,推荐注解在属性上。 3.java配置类相关注解 @Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上) @Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上) @Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上) @ComponentScan 用于对Component进行扫描,相当于xml中的(类上) @WishlyConfiguration 为@Configuration与@ComponentScan的组合注解

Hello-SpringMvc

梦想的初衷 提交于 2019-12-30 23:57:20
什么是SpringMVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。就是将业务逻辑、数据、显示分离的方法来组织代码 MVC主要作用是 降低了视图与业务逻辑间的双向偶合 。MVC不是一种设计模式, MVC是一种架构模式 。当然不同的MVC存在差异。 Model(模型) :数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。 View(视图) :负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。 Controller(控制器) :接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。 也就是说控制器做了个调度员的工作。 最典型的MVC就是 JSP + servlet + javabean 的模式。 Model1 在web早期的开发中,通常采用的都是Model1。 Model1中,主要分为两层,视图层和模型层。 Model1优点:架构简单,比较适合小型项目开发; Model1缺点:JSP职责不单一,职责过重,不便于维护 Model2

SpringMVC注解校验

你说的曾经没有我的故事 提交于 2019-12-29 23:38:43
spring注解式参数校验 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jinzhencs/article/details/51682830 一般入参我们都会转为vo对象。那么直接在对象的属性上注解即可。 其实spring用的是hibernate的validator. 步骤 1.配置spring.xml <mvc:annotation-driven /> 2.配置自己的validate类。 <bean id="validateArgsAOP" class="com.my.validate.aop.ValidateArgsAOP"/> <aop:config> <aop:aspect id="argAOP" ref="validateArgsAOP"> <aop:pointcut id="target" expression="execution(* com.wlqq.apigateway..*Controller.*(..))"/> <aop:around method="doAround" pointcut-ref="target"/> </aop:aspect> </aop:config> 3.controller的bean加上@Valid @RequestMapping(value=”/template”, method

SpringMvc数据校验@Valid等注解的使用与工具类抽取

不羁的心 提交于 2019-12-29 23:38:03
最近在重构老项目的代码,发现校验入参占用了很多代码,之前我对这一块的认识局限于使用StringUtils等工具来多个if块进行判断,代码是没什么问题,但是总写这些令人生烦,毕竟写代码也要讲究优雅的嘛,于是呢我就研究了一下JavaEE Api 上的校验类,基本上推翻了我之前对校验注解之类的认识,在这里记录一下所得。 @NotNull @NotBlank @NotEmpty 这三个注解的区别以及使用 @NotNull :校验入参不能为空,无法正确校检长度为0的字符串或以完全为空格的字符串 @NotBlank : 包含 @NotNull 的功能,可以校验字符串内容是否为空 @NotEmpty : 校验传入集合是否为空 当以上几个注解校验不被满足的时候,就会抛出异常,打印出默认的消息内容, 如 age not be null 这样的错误信息 想自定义错误信息可以如: @NotNull(message = "信息不能为空") 来定义 @Valid 的使用 如果入参为一个对象,想校验这个对象内容是否正确的时候,会用到1节中所讲的几个注解, 但是此时会有一个问题:如果不使用 @Valid 注解,1节中的注解在入参过程中是不生效的,只有保存的时候才会被校验(不排除PO和DTO是同一个对象的情况) 当然,这有一个大前提,就是没有其它对入参校验的方法执行。 *

SSM —— Spring + SpringMVC +Mybatis 整合JAR 和 XML 配置文件

孤者浪人 提交于 2019-12-29 14:52:33
1. 导入jar包 ## 数据库 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> <scope>runtime</scope> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> ## Mybatis <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.2</version> </dependency> ## Spring MVC <dependency> <groupId>log4j</groupId> <artifactId

SpringMVC(六)——@ResponseBody注解

Deadly 提交于 2019-12-28 10:07:53
(1)在方法上只有@RequesstMapping时,无论方法返回值是什么,都认为需要跳转。 (2)如果不希望跳转,可以把控制器的返回值设置为void ,或者加上注解@ResponseBody 2.1 如果返回值满足 key-value 形式(对象或 map), 把响应头的Content-Type属性设置 application/json;charset=utf-8 并把返回的内容转换成 json字符串 格式,把转换后的内容输出流的形式响应给客户端. 底层使用Jackson进行json转换,需要导入jackson的jar Controller层代码: @RequestMapping ( value = "demo11" , produces = "application/json;charset=utf-8" ) @ResponseBody public People demo11 ( ) { People p = new People ( ) ; p . setName ( "张三" ) ; p . setPassword ( "12" ) ; return p ; } 浏览器页面的显示: 2.2 如果返回值不满足 key-value,例如返回值为 String。 把相应头的Content-Type设置为 text/html 把返回值的内容以流的形式直接输出

SpringMVC源码(五)- doDispatch - getHandle的准备阶段(@RequestMapping解析注册)

妖精的绣舞 提交于 2019-12-28 02:26:36
目录 一、doDispatch的getHandler 1、RequestMappingHandlerMapping结构 2、setApplicationContext回调函数 3、afterPropertiesSet回调函数 1)、获取可能的类 2)、解析和注册 3)、递归查询所有的方法 4)、将RequestMapping注解修饰的方法以RequestMappingInfo返回 5)、注册调用方法 二、doDispatch的getHandlerAdapter 1、RequestMappingHandlerAdapter 2、HandlerFunctionAdapter 3、HttpRequestHandlerAdapter 4、SimpleControllerHandlerAdapter 5、SimpleServletHandlerAdapter 三、总结 一、doDispatch的getHandler SpringMVC中比较重要的就是doDispatch,而其中第一个比较重要的就是根据HttpServletRequest(当前为RequestFacade类型)获取HandlerExecutionChain(调用的Controller和需要调用的HandlerInterceptor链)。 @Nullable protected HandlerExecutionChain

SpringMVC学习(一)——对于springMVC的整体认识

二次信任 提交于 2019-12-27 18:49:38
一、首先什么是SpringMVC? SpringMVC是一个基于MVC实现的web框架,用于替代传统的servlet。MVC全名是Model View Controller,是模型(model)——视图(view)——控制器(controller)的缩写。 二、同类的技术有哪些? SpringMVC同类的技术要数Struts2 三、对比同类的优缺点是哪些? 对比Struts2的优势很明显: 1、拦截机制的不同,Struts2是类级别的拦截,SpringMVC是方法级别的拦截 2、底层架构的不同,Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC则是采用Servlet(DispatcherServlet)实现。 3、配置方面不同,SpringMVC和Spring是无缝结合的,相对于Struts2省却了很多配置,提高了开发效率符合当前敏捷开发思路。 四、SpringMVC的组成部分? 1、前端控制器(DispatcherServlet)——框架已提供不需要开发 中央处理器,负责请求的转发,相当于一个请求转发器 2、处理器映射器(HandlerMapping)——框架已提供不需要开发 接收到前端控制器发送来的url后,对url进行匹配,返回给前端控制器一个处理器执行链(HandlerExecuteChain) 3

“Spring + SpringMVC”优质套餐---深入浅出

孤街醉人 提交于 2019-12-27 18:05:47
走进Spring 和 走进SpringMVC系列总结 目前完成了Mybatis 全家桶系列套餐 Mybatis专题—“系列全家桶” 这篇对Spring和SpringMVC专题进行总结整合 点赞再看,你的支持便是我最大的动力 前言 Spring 为何物? Spring 是一个开源框架. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. Spring 是一个 IOC(DI) 和 AOP 容器框架. 为什么要学习Spring 轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API 依赖注入(DI — dependency injection) 控制反转(IOC) 面向切面编程(AOP — aspect oriented programming) 容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期 框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象 一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC

SpringMVC 3.1集成Spring Security 3.1

那年仲夏 提交于 2019-12-27 12:43:19
这篇算是一个入门文章,昨天看见有网友提问,spring mvc集成spring security 的时候出错,揣测了一下问题木有解决。我就帮忙给搭建了一个集成框架他说可以,他告诉我这样的文章网上少。今天我就分享在这里供入门学习。spring mvc我木有用过,所以我们这里重点讲解如何集成spring security ,spring security是一个非常好的开源权限框架(具体了解自己google,或者到spring 官网,这里我给一个DOC3.1: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity.html )。 可以说不仅仅包含了权限,里面有一套完整的授权认证系统包括:权限、防止session攻击、支持信道安全、支持LDAP认证、支持OpenID、同时支 持CAS集成单点登录等等,个人用过spring security 2.0基本大致一样,当时中文资源那个少啊,尤其集成SSH+spring security 更是少的可怜,最后还是硬着头皮上,最后拿下了这个框架,最起码了解了。当时就写了一个SSH+spring security的文章,还被某网站引用。好了废话不扯,我们今天在来集成一个springmvc3.1+spring security3.1