zoukankan      html  css  js  c++  java
  • Spring-IOC注解

    注解主要的目的就是实现零XML配置。
    一:自动扫描装配Bean。
    spring为我们引入了组件自动扫描机制,它可以在类路径底下寻找标注了@Component、@Service、@Controller、@Repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件是一样的。
    1)@Component 将java类标记成一个Spring Bean组件。

    2)@Service  将业务层实现类标记成一个Spring Bean组件。

    3)@Controller  将表现层类标记成一个Spring Bean组件。

    4)@Repository 将一个持久层实现类标记成一个Spring Bean组件。

    均拥有value属性,可以取名字;如果没有取名字,默认为类名首字母小写。

    二:作用域用scope来指定

    用来指定bean的作用域

    singleton---单例  只创建一个对象。

    prototype---原型  想创建多少个就创建多少了。

    request---针对Web项目,不同的请求创建单独的Bean对象,同一个请求共享一个Bean。

    session---针对Web项目,不同的会话创建单独的Bean对象,同一个会话共享一个Bean。

    三:自动装配(@Autowired)与精确装配

    @Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。

    1、配置在属性上;

    2、配置在set方法上;

    3、配置在构造方法上。

    自动装配中了解这两个就差不多了

    1:byName在容器中寻找和需要自动装配的属性名相同的Bean

    2:byType在容器中寻找和需要自动装配的属性类型相同的Bean

    @Qualifier配合@Autowired使用。

    把按类型配置变为按名称匹配

     1、配置在属性上;

    2、配置在set方法上;

    3、配置在构造方法的参数上。

    @Resource  (这个注解是最强的)

    @Resource注解默认按名称装配。名称可以通过name属性指定,如果没有指定name属性,默认取属性的名称作为bean名称寻找依赖对象。

    注意:如果没有指定name属性,并且按照默认的名称找不到依赖对象时,@Resource会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了。

    1、配置在属性上;

    2、配置在set方法上。

  • 相关阅读:
    PHP中常用的字符串格式化函数总结
    php格式化金额函数分享
    PHP获取当前日期和时间及格式化方法参数
    CSS 中如何把 Span 标签设置为固定宽度
    css中 Span 元素的 width 属性无效果原因及多种解决方案
    js网页如何获取手机屏幕宽度
    HTML meta viewport属性详细说明
    Android onLowMemory()和onTrimMemory()
    Qt 拷贝文件目录
    QT5.1 调用https
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/5074743.html
Copyright © 2011-2022 走看看