1.@Controller

注解到类名上,表示该类是控制器。

2.@RequestMapping("/xxxx")

可以放在类名/方法名之上,表示访问请求该方法时的url。如果该方法类名有@RequestMapping,则访问该方法的url=项目名+类的RequestMapping+方法的RequestMapping。

3.@Resource

作用相当于@Autowired,只不过@Autowired按类型自动注入,而@Resource默认按byName注入。

@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。

所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。

如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。

举例:如果Spring上下文中存在不止一个UserDao的bean时,就会抛出BeanCreationException异常;

如果Spring上下文中不存在UserDao类型的bean,也会抛出BeanCreationException异常。

我们可以使用@Qualifier配合@Autowired来解决。

①存在多个bean时,这样解决。

@Autowired

@Qualifier("userServiceImpl")

public IUserService userService;

②不存在时这样解决。

@Autowired(required = false)

public IUserService userService

4.@Service

@Service("Bean的名称") 其中双引号内为可选操作,可以不填,填了代表自定义业务名。整体含义为定义业务层bean。

@Service用在实现类的类名上。如

@Service("alarmManageService")

public class AlarmServiceImp implements AlarmManageService{}

5.@Repository

@Repository("Bean的名称")

定义DAO层Bean

6.@Component

定义Bean, 不好归类时使用。即除了常用的归类外,此Bean不属于其中任何一个,即可用Component修饰。

7.@InitBinder

用于绑定数据,比如前端页面有两个对象,一个student,一个course,切他俩的属性名都一样,此时即可使用该注解。

@Controller

@RequestMapping("/classtest")

public class TestController {

@InitBinder("student")

public void initBinderUser(WebDataBinder binder) {

binder.setFieldDefaultPrefix("student.");

}
@InitBinder("course")

public void initBinderAddr(WebDataBinder binder) {

binder.setFieldDefaultPrefix("course.");

}

@RequestMapping("/methodtest")

@ResponseBody

public Map<String,Object> test(@ModelAttribute("student") Student student,@ModelAttribute("course") Course course){

Map<String,Object> map=new HashMap<String,Object>();

map.put("student", student);

map.put("course", course);

return map;

}

SpringMVC常用注解知识总结的更多相关文章

  1. SpringMVC常用注解實例詳解3:@ResponseBody

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  2. SpringMVC常用注解實例詳解2:@ModelAttribute

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  3. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...

  4. SpringMVC常用注解@Controller,@Service,@repository,@Component

    SpringMVC常用注解@Controller,@Service,@repository,@Component controller层使用@controller注解 @Controller 用于标记 ...

  5. 一 : springmvc常用注解

    springmvc常用注解详解1.@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层 ...

  6. 转:springmvc常用注解标签详解

    Spring5:@Autowired注解.@Resource注解和@Service注解 - IT·达人 - 博客园--这篇顺序渐进,讲得超级好--此人博客很不错http://www.cnblogs.c ...

  7. SpringMVC 常用注解 详解

    SpringMVC 常用注解 详解 SpringMVC 常用注解 1.@RequestMapping                                      路径映射 2.@Requ ...

  8. Spring 和 SpringMVC 常用注解和配置(@Autowired、@Resource、@Component、@Repository、@Service、@Controller的区别)

    Spring 常用注解 总结内容 一.Spring部分 1.声明bean的注解 2.注入bean的注解 3.java配置类相关注解 4.切面(AOP)相关注解 5.事务注解 6.@Bean的属性支持 ...

  9. SpringMVC常用注解,返回方式,路径匹配形式,验证

    常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping ...

随机推荐

  1. Django框架(十一)—— 常用字段、参数、元信息、多对多关联关系

    目录 常用字段和参数 一.ORM字段 二.ORM参数 三.关系字段 1.ForeignKey 2.OneToOneFiled 3.ManyToManyField 四.元信息 五.多对多关联关系的三种方 ...

  2. Feign 系列(02)Why Feign

    Feign 系列(02)Why Feign [toc] 1. 什么是 Feign Feign 的英文表意为"假装,伪装,变形", 是一个 Http 请求调用的轻量级框架,可以以 J ...

  3. Excel的线程 与 SynchronizationContext的实现

    COM组件的线程模型与Excel多线程的背景知识 COM组件的线程模型被称之为Apartment模型,COM对象初始化时其执行上下文(Execution Context),他要么和单个线程关联STA( ...

  4. winform textbox 不能唤醒windows 平板的软键盘解决办法

    这个问题,研究了将近两个小时,baidu,google,好大一会,windows 平板本身的应用程序,必须浏览器,notepad都是可以自动唤起软键盘的,但是我的winfrom 程序就是不可以,起先怀 ...

  5. oh my zsh 如何启用插件

    注 根据自己的需求启用插件.但是,插件具体实现什么功能就得自己看啦. 官网说明 实践 其实默认oh my zsh(以下简称zsh)已经在安装的时候就帮我们下载好了所有插件,只不过需要用户自己选择启用哪 ...

  6. centos6.8 oracle 11.2.0.4 11g安装

    配置Linux系统参数 配置阿里云yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

  7. AN之数据集

    一.数据集: 首先介绍数据集参数: 英文简称 英文全称 中文全称 单位 换成正常单位 说明1 说明2 Time Time 时间 小时:分钟       Temp Temperature 温度 摄氏度 ...

  8. mysql 的linux 忘记了密码

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...

  9. Java ArrayList使用技巧 - 两个ArrayList去除重复的元素

    方法一.ArrayList中提供的removeAll方法(效率最低) List1.removeAll(mSubList); 方法二.双重循环(比方法一效率高) 双重循环分为内外两层循环,经过测试,将元 ...

  10. 线性dp——cf988F

    不是很难,dp[i]表示到位置i的最小花费 #include<bits/stdc++.h> using namespace std; #define ll long long #defin ...