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方法上。

  • 相关阅读:
    【JavaScript】关于javascript原型的深入理解
    【JavaScript】关于JS中的constructor与prototype
    【JavaScript】关于prototype
    【JavaScript】重温Javascript继承机制
    【JavaScript】新浪微博ajax请求后改变地址栏url,但页面不跳转的方案解析
    【JavaScript】JavaScript函数的参数
    【JavaScript】页面加载性能优化
    HTML5 修改浏览器url而不刷新页面
    【339】matplotlib based on python3
    【338】Pandas.DataFrame
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/5074743.html
Copyright © 2011-2022 走看看