文档章节

Spring (依赖注入)

a
 asdewwr58
发布于 2016/05/12 10:37
字数 284
阅读 5
收藏 0

 

     下面是配置文件,配置了spring的扫描路径,不配置这个注解不起作用。 

Java代码  收藏代码

  1. package com.expect.oa.config;  
  2.   
  3. import org.springframework.context.annotation.ComponentScan;  
  4. import org.springframework.context.annotation.Configuration;  
  5.   
  6. @Configuration  
  7. @ComponentScan("com.expect.oa.*")  
  8. //@ComponentScan(basePackages={"com.expect.oa.DI.*","com.expect.oa.DI2.*"})  
  9. //多个包可以这样写,这相当于在XML里配置了自动扫描  
  10. public class SpringConfig {  
  11.   
  12. }  


     这是一个接口: 

Java代码  收藏代码

  1. package com.expect.oa.DI.interfaces;  
  2.   
  3. public interface InterA {  
  4.   
  5.     void action1 ();  
  6.       
  7. }  


     下面声明一个简单的类,继承了上面的借口: 

Java代码  收藏代码

  1. package com.expect.oa.DI;  
  2.   
  3. import org.springframework.stereotype.Component;  
  4.   
  5. import com.expect.oa.DI.interfaces.InterA;  
  6.   
  7. @Component("interAImpl")  
  8. //@Named("interAImpl")同样的效果  
  9. public class CompA implements InterA{  
  10.   
  11.     @Override  
  12.     public void action1() {  
  13.         // TODO Auto-generated method stub  
  14.         System.out.println("spring DI");  
  15.     }  
  16.   
  17. }  


     下面是测试代码: 

Java代码  收藏代码

  1. package com.expect.oa.test;  
  2.   
  3. import javax.annotation.Resource;  
  4.   
  5. import org.junit.Test;  
  6. import org.junit.runner.RunWith;  
  7. import org.springframework.test.context.ContextConfiguration;  
  8. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
  9.   
  10. import com.expect.oa.DI.interfaces.InterA;  
  11. import com.expect.oa.config.SpringConfig;  
  12.   
  13. @RunWith(SpringJUnit4ClassRunner.class)  
  14. @ContextConfiguration(classes = {SpringConfig.class})  
  15. public class TestSpringDI {  
  16.   
  17.     //个人建议给每个组件都起名。  
  18.     @Resource(name="interAImpl")  
  19.     //@Autowired 同样的效果  
  20.     InterA aService;  
  21.       
  22.     //这里是测试依赖注入  
  23.     @Test  
  24.     public void testDI() {  
  25.         aService.action1();  
  26.     }  
  27.   
  28. }  

 

获取【下载地址】   【免费支持更新】
三大数据库 mysql  oracle  sqlsever   更专业、更强悍、适合不同用户群体
新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统

© 著作权归作者所有

共有 人打赏支持
a
粉丝 0
博文 3
码字总数 2586
作品 0
南宁
Spring基础知识汇总 Java开发必看

Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关...

像风一样i
08/14
0
0
Spring_总结_02_依赖注入

一、前言 本文承接上一节:Spring总结01_Spring概述 在上一节中,我们了解了Spring的最根本使命、四大原则、六大模块以及Spring的生态。 这一节我们开始了解Spring的第二大原则中的依赖注入,...

rayner
07/27
0
0
spring循环依赖的三种方式

1.构造器参数循环依赖 对象间在构造函数中有相互依赖,通过构造函数注入 constructor-arg 启动是会报循环依赖错误 2.setter方式单例,默认方式 spring先通过无参构造方法创建bean,然后通过s...

素雷
08/08
0
0
Spring IoC & DI

IOC诞生的历史 在没有IoC时,关联不同模块是通过类实例实现的,代码可能是这样子的: 当YourServiceImpl的接口不变时,只需要根据业务需要更换不同的YourService实现类即可。一旦更换实现类时...

classfly
06/18
0
0
Spring实战 (一) 一切从Bean开始

Spring可以做很多事情,但是归根究底.Spring的核心仅仅是依赖注入(DI)/控制反转(IoC)和面向切面编程(AOP)而已.Spring的一切都是基于这2点 Spring的一切都是从Bean开始的.什么是Bean?凡是被Spr...

kenshiro
2013/09/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
33分钟前
0
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
45分钟前
1
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
1
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部