1. @Controller

@Controller用于标识控制层主键,负责注册一个bean到spring上下文,bean的ID默认为首字母小写的类名称,用户也可以自定义。

例如:

方式一:  @Controller
                public class DemoController{}

方式二:@Controller("demoController")
                public class DemoController{}

2.@RequestMapping

@RequestMapping 用来定义访问的URL,可以作用在类和方法上。

添加在类上,表示为整个类定义一个访问的URL;

添加在方法上,表示为此方法定义一个访问的URL;

  例如:

方式一:@RequestMapping("/demo)
            public class DemoController {} 表示对该类的所有访问路径都在/test下面。

 方式二:@RequestMapping(value = "list", method = RequestMethod.GET)
         public String list() {}表示对该方法的访问路径都在/list下面。

3.@Service

@Service用于标识业务层组件,getBean默认名称是首字母小写的类名,也可以自定义,如@Service("testService"),这种bean默认是单例的。

4.@Repository

 @Repository用于标识数据访问组件,配置此注解之前必须要在spring的配置文件中启用bean的自动扫描功能<context:component-scan/>。

 Spring 在容器初始化时将自动扫描 base-package 指定的包及其子包下的所有 class文件,所有标注了 @Repository 的类都将被注册为 Spring Bean。

  为什么 @Repository 只能标注在 DAO 类上呢?这是因为该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。

4.@Autowired

 @Autowired 用于对类成员、方法和构造函数进行标识,完成自动装配的工作,通过@Autowired注解可以消除set和get方法。前提是需要导入以下的bean配置才行:

  <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>

5.@Resource

 @Resource默认按byName自动注入,是J2EE提供的。

二者的区别:

(1).@Autowired 与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上;
   (2).@Autowired 默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:  @Autowired(required=false) .

最新文章

  1. Ubuntu学习小结(一)
  2. iOS---NSAutoreleasePool自动释放原理及详解
  3. git命令笔记
  4. redmine v3.02版的安装问题
  5. Java魔法堂:打包知识点之META-INF/MAINFEST.MF
  6. 2014 Multi-University Training Contest 1
  7. 【转】Bootloader之uBoot简介(转)
  8. asp.net 获取url
  9. ANDROID开发之SQLite详解
  10. Java编写的文本编辑器(菜鸟作品)
  11. 下载cppunit
  12. jquery之前后台交互
  13. SQL 数据库知识点回顾
  14. sql server中的索引详情
  15. leetcode contest 20
  16. tensorflow 从入门到上天教程一
  17. sqli-labs less 5-6
  18. [原]VS2012编译GLEW 1.11
  19. 前端基础-JavaScript
  20. js中使用trim

热门文章

  1. 北京电子科技学院(BESTI)实验报告5
  2. &lt;转&gt;Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包
  3. 【BZOJ3036】绿豆蛙的归宿 概率与期望
  4. mac新手的烦恼
  5. webScoket的浅短的认识
  6. About_Smarty
  7. SQL基本语句汇总
  8. java web(七)Cookie的简单使用
  9. 选择列表中除了第一个li的其他元素
  10. 加载跨域的HTML页面AJAX