`
callmegod
  • 浏览: 107917 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

Spring Annotation总结

 
阅读更多

 

@Autowired 注释 
   对类成员变量、方法及构造函数进行标注,完成自动装配的工作
   在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。
   当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个
   匹配的 Bean.
   当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用
   @Autowired(required = false),这等于告诉 Spring:在找不到匹配 Bean 时也不报错
@Qualifier 注释 
   我们在 Spring 容器中配置了两个类型相同的Bean时,当对 bean的成员变量进行自动注入时,
   Spring 容器将无法确定到底要用哪一个Bean,用@Qualifier 注释可以指定具体的bean
  @Qualifier("bean名") ; @Autowired 和 @Qualifier 结合使用时,
   自动注入的策略就从 byType 转变成 byName 了。@Autowired 可以对成员变量、方法以及构造函数
   进行注释,而@Qualifier 的标注对象是成员变量、方法入参、构造函数入参。正是由于注释对象的不同,
   所以 Spring 不将 @Autowired 和 @Qualifier 统一成一个注释类。
@Resource注释 
   @Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,
   而 @Resource 默认按 byName 自动注入罢了。
  @Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将 @Resource 注释的 name 属性解析为
   Bean 的名字,而 type 属性则解析为 Bean 的类型。所以如果使用 name 属性,则使用 byName 的自动注入
   策略, 而使用 type 属性时则使用 byType 自动注入策略。如果既不指定 name 也不指定 type 属性,这时将
   通过反射机制使用 byName 自动注入策略。
@PostConstruct注释 
   标注的方法在类实例化后调用
@PreDestro注释 
   标注的方法将在类销毁之前调用
@Component注释 
   将一个类定义了Spring 容器中的Bean
   @Component 有一个可选的入参,用于指定 Bean 的名称
   一般情况下,Bean 都是 singleton 的,需要注入Bean的地方仅需要通过byType 
   策略就可以自动注入了,所以大可不必指定Bean的名称
@Repository注释 
   和@Component 是等效的,命名上看来是持久层
@Service注释 
   和@Component 是等效的,命名上看来是业务层
@Controller注释 
   和@Component 是等效的,命名上看来是控制层


分享到:
评论

相关推荐

    Spring总结(四)

    Spring个人总结,基于Annotation注解的方式开发,配置

    SpringMVC源码总结(二)mvc:mvc:annotation-driven背后的那些事

    NULL 博文链接:https://yihuawuye1.iteye.com/blog/2105063

    Spring中文帮助文档

    2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.3.3. 对bean命名pointcut( bean name pointcut ...

    Spring API

    2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...

    Spring.3.x企业应用开发实战(完整版).part2

    7.5.1 @annotation() 7.5.2 execution() 7.5.3 args()和@args() 7.5.4 within() 7.5.5 @within()和@target() 7.5.6 target()的this() 7.6 @AspectJ进阶 7.6.1 切点复合运算 7.6.2 命名切点 7.6.3 ...

    sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置

    自己总结了比较新的一版ssh框架,可以运行,数据库用的mysql,heibernate4没有了HibernateDaoSupport,自己写Dao

    Spring3.x企业应用开发实战(完整版) part1

    7.5.1 @annotation() 7.5.2 execution() 7.5.3 args()和@args() 7.5.4 within() 7.5.5 @within()和@target() 7.5.6 target()的this() 7.6 @AspectJ进阶 7.6.1 切点复合运算 7.6.2 命名切点 7.6.3 ...

    springmybatis

    后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. ...

    【大厂面试题】SpringBoot之启动原理非常详细解析及其答案

    要揭开SpringBoot的神秘面纱,我们从Annotation定义(@SpringBootApplication)和类定义 (SpringApplication.run)入手。 总结: SpringBoot的核心组件完成了基本的解析,综合来看,大部分都是Spring框架背后的一些...

    java7源码-spring_test:弹簧测试

    mvc:annotation-driven/ 这个大概的意思就是识别注解 4.4 最后需要配置一个视图解析器 InternalResourceViewResolver 详情查看这个文件夹 还有一个就是applicationContext.xml文件 这个在这个项目没有用到 小小总结...

    电子商城系统设计实习报告.doc

    16 7.1.1 实体联系图 16 7.2 逻辑结构 18 7.2.1 数据表结构详细设计 18 7.2.2 数据库表之间的关系设计 19 8 程序效果展示 20 8.1 前台功能模块 20 8.2 后台功能模块 22 9 实习总结体会 27 实习内容简述 1 实习期间...

    SSH配置及基础教程

    这是我在学习SSH框架时候总结的资料,觉得里面写得比较详细,有截图及说明,可以根据里面的配置你完成自己的SSH项目

    整理后java开发全套达内学习笔记(含练习)

    Annotation [java] 代码注释 [ænәu'teiʃәn] anonymous adj.匿名的[ә'nɒnimәs]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [ә'plai] application n.应用,应用程序 [,æ...

    Activiti6.0教程例子下载

    其中大部分文字来自Copy网上的各种资料与文档,通过总结而来的。具体的更详细的内容需自己google,参考一些官方的文档与手册。 本文档之后内容如下: 1) 下载与使用 2) 核心组件与说明 3) 入门示例 4) Eclipse中的...

    iuhyiuhkjh908u0980

    Ebean的特性如下: ============== l 使用标准的JPA annotation,即:@Entity, @OneToMany等。 l 提供Sessionless API,也就是说没有merge,flush等方法。(这也是Ebean与Hibernatet等ORM的重要区别之一) l 支持...

Global site tag (gtag.js) - Google Analytics