zoukankan      html  css  js  c++  java
  • SpringIOC学习三

    基于注解的注入:就是用注解标签的方式替换掉我们xml配置文件里面bean的注册和依赖关系的描述
        a:首先回顾IOC(控制反转),进行依赖注入需要做到两件事情:
            1:注册类  2:描述依赖关系
        b:注解的实现步骤
            * 加入jar包spring-aop-4.2.1.RELEASE.jar
            * 加入context约束
            * 在applicationContext.xml配置文件中定义扫描需要用到的直接的包路径
            * 在需要注解的bean对象前面加入注解标识符
                @Component 所有地方都可以,代表<bean id = "" class = ""></bean>
                定义component注解还有三种方式
                @Repository  这个注解主要是声明dao的类组件
                @Service     这个注解主要是声明service服务类的
                @Controller  这个注解主要是声明控制类
                
            * 用注解标识符autowire来声明依赖关系(bean的作用域默认的是单例)
                @Resource java的注解,她默认以byName的方式注入,byName找不见,再用byType去匹配
                @Autowire spring注解,默认是以byType的方式注入,--如果有多个实现类,她用byName的方式再去匹配,不过建议使用@Qualifier来指定需要匹配的依赖类的名称
                @Autowire @Qualifier spring注解,两个一起用,指定用byName的方式
        注意: 注解不需要设置set方法,但是我们还是一般写上
            因为当我们在配置文件里面配置了bean的时候,而且通过配置文件描述了依赖关系,会优先使用配置,如果没有setter方法,会报异常
                
    spring IOC总结:
        
    Spring 的IOC(控制反转)是通过依赖注入(dependency injection)来实现的

    优点:
        * 大量减少对象的创建和管理,是代码层次更加清晰
        * Spring 的IOC容器是轻量级的容器,没有侵入性(不依赖容器的API),不需要实现一些特殊接口
        * 鼓励我们面向接口编程
        * 减少了代码的耦合,将耦合的部分推到了配置文件,如果他们的关系发生了改变,只需要修改配置文件就好
        * 提供了aop声明式的服务能力









                
                
               

  • 相关阅读:
    javaDoc 注释规范
    [阿里云] 如何 开放云主机 非80 端口?
    [Go] 跨平台文件系统监控工具 fsnotify 应用举例
    如何利用 jQuery 修改 css 中带有 !important 的样式属性?
    code.google.com/p/log4go 下载失败
    [Go] ok 判断 汇总
    [Go] 编码规范
    《Go语言实战》摘录:7.3 并发模式
    《Go语言实战》摘录:7.2 并发模式
    《Go语言实战》摘录:7.1 并发模式
  • 原文地址:https://www.cnblogs.com/wadmwz/p/7623151.html
Copyright © 2011-2022 走看看