Java框架之spring(三)—Spring IOC的注解注入

各位小伙伴

今天我们分享的是

spring IOC(控制反转)的


基于注解的注入


基于注解的注入 :就是用注解标签的方式来替换掉我们 xml 配置文件里面 bean 的注册和依赖关系的描述(有不清楚的小伙伴可以去看一下我们之前文章)


我们来实践一下

先来创建一个小项目吧!

我们就直接在原来的项目上进行修改了!



把 jar 包 spring-aop-4.2.1.RELEASE.jar 导入到我们的项目中,包的位置在spring-framework-4.2.1.RELEASE\libs 文件夹里面。


就是他了!


加入 context 约束,虽然我们不进行配置,但要告诉容器我们有哪些文件使用注解的方式,让容器去扫描文件。



appliactionContext.xml 配置里面定义扫描需要用到的直接的包路径。


后面就不用再添加别的内容了!


现在就在需要注解的 bean 对象前面加入注解标识符


@Component  所有的类上面都可以这么写,只是不规范!



规范一点的写法是:

@Repository:这个注解主要是声明 dao 的类组件




@Service:这个注解主要是声明 service 服务类



@Controller:主要是声明控制类 (springmvc/struts2 action/controller)

我们的例子中没有这边的代码,就不截图了


上面是类的声明,下面是我们的依赖关系。


@Resource java 的注解 ,默认是以 byName 方式注入,byName 找不到的话,再用 byType 去匹配



@Autowired spring 的注解,默认是以 byType 注入,-如果有多个实现类,他再用 byName 的方式去匹配



测试结果



@Qualifier spring的注解,可以指定实现的方法名称。


@Autowired @Qualifier 两个一起 用,指定用byName的方式进行匹配


@Scope bean的作用域




注意: 注解不需要设置 setter 方法 ,但是我们还是一般写上,因为当我们在配置文件里面配置了 bean 的时候 ,而且通过配置文件描述了依赖关系,会有限是用配置,如果没有setter方法,会报异常。


Spring IOC 总结 


Spring 的IOC(控制反转)是通过依赖注入(dependency injection)来实现的

优点 :

减少了对象的创建和管理 ,使代码层次更加清晰。

Spring 的IOC容器是一个轻量级的容器 ,没有侵入性(不依赖容器的API) ,不需要实现一些特殊接口。

鼓励我们面向接口编程。

减少了代码的耦合,将耦合的部分推到了配置文件中 ,如果他们的关系发生了改变,只需要修改配置文件。


今天就到这里了

再见了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,936评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 来源:关于Spring IOC (DI-依赖注入)你需要知道的一切作者:zejian Dao层(AccountDa...
    杨井阅读 5,359评论 0 27
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 4,199评论 2 7
  • 曾经过往的辉煌,还要留恋,曾经遗失的微笑,还要继续。我们藏在难以释怀的青春背后,默默地哭泣。 花开的一瞬,我凝视...
    卢舒玲阅读 201评论 1 1