文档章节

Spring (依赖注入)

a
 asdewwr58
发布于 2016/05/12 10:37
字数 284
阅读 5
收藏 0
点赞 2
评论 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 IoC & DI

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

classfly ⋅ 06/18 ⋅ 0

Spring IOC知识点一网打尽!

前言 只有光头才能变强 回顾前面: 给女朋友讲解什么是代理模式 包装模式就是这么简单啦 单例模式你会几种写法? 工厂模式理解了没有? 在刷Spring书籍的时候花了点时间去学习了单例模式和工...

Java3y ⋅ 05/22 ⋅ 0

Spring 常用的注解及“依赖注入”的实现

1、spring注解 @Controller 声明Action组件 @Service 声明Service组件 @Service("myMovieLister") @Repository 声明Dao组件 @Component 泛指组件, 当不好归类时. @RequestMapping("/menu") ......

沉淀人生 ⋅ 05/28 ⋅ 0

Spring MVC 到 Spring BOOT的简化之路

背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的朋友能深刻体会到这一痛苦。因为...

临江仙卜算子 ⋅ 05/09 ⋅ 0

Spring Dependency

我们知道Spring的最重要的核心是Ioc,有时候也被称为DI(Dependency Injection,依赖注入),那么关于Dependency,你了解多少呢? 之前我们有提到IOC和DI的关系与概念,我是把它们区分开了,所...

Real_man ⋅ 05/20 ⋅ 0

1 Spring核心:IoC容器的实现

依赖控制反转的实现有很多种方式。在Spring中,IoC容器是实现这个模式的载体, 它可以在对象生成或初始化时直接将数据注入到对象中,也可以通过将对象引用注入到对象数据域中的方式来注入对方...

qq_18150351 ⋅ 04/24 ⋅ 0

Spring-如何给静态变量注入值

Spring无法直接给静态变量注入值,因为静态变量不属于对象,只属于类,也就是说在类被加载字节码的时候变量已经初始化了,也就是给该变量分配内存了,导致spring忽略静态变量。所以如下这种写...

ZeroOne01 ⋅ 04/26 ⋅ 0

spring使用最基本的依赖注入,导包的问题

只是想实现最基本的spring的依赖注入的功能,需要哪些包? 就是通过applicationContext.xml中配置的对应的对象名以及相关类的信息,创建spring容器,并把bean标签中配置的对象,放到spring容器中,...

HaleyZhang ⋅ 06/07 ⋅ 0

Swagger 与 spring mvc 集成

最近研究swagger,网上也搜了不少与springmvc 集成的方式,但是发现最终都有问题。 比如:http://javatech.wang/index.php/archives/74/,这篇文章写的已经很详细了。 但是按照文章上的做,可...

lis1314 ⋅ 2016/12/08 ⋅ 0

Spring Cloud 启动错误 - java.lang.NoSuchMethodError

最近想把项目中的一个功能设计成一个microservice,降低系统件的耦合度,方便后期维护与扩展。之前没有接触过microservice,只是知道microservice最近两年比较火。作为技术人员总喜欢折腾新技...

杨梅泡酒 ⋅ 05/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

istio 文档

https://istio.io/docs/concepts/ https://istio.io/docs/concepts/traffic-management/handling-failures/ https://istio.io/docs/concepts/traffic-management/rules-configuration/......

xiaomin0322 ⋅ 14分钟前 ⋅ 0

编程语言的作用及与操作系统和硬件的关系

一、编程语言的作用及与操作系统和硬件的关系 作用:编程语言是计算机语言,是一种程序员与计算机之间沟通的介质,通过编程语言可以使得计算机能够根据人的指令一步一步去工作,完成某种特定...

slagga ⋅ 24分钟前 ⋅ 0

runtime实现按钮点击事件

也不能说是实现吧,,,就是有点类似于RAC里边的写法,不用给btn添加另外的点击事件,就那个add...select...这样子很不友好,来看下代码: [self.btn handleControlEvent:UIControlEventTou...

RainOrz ⋅ 24分钟前 ⋅ 0

Windows系统运维转linux系统运维的经历

开篇之前,首先介绍一下我的背景把:我是一个三线城市的甲方运维。最近,在《Linux就该这么学》书籍的影响下和朋友小A(Linux运维已经三年了,工资也比我的高很多)的影响下,决定转行。最近...

linux-tao ⋅ 25分钟前 ⋅ 0

zip压缩工具,tar打包工具

zip压缩工具 zip打包工具跟前面说到的gzip,bz2,xz 工具最大的不一样是zip可以压缩目录。如果没有安装,需要使用yum install -y zip 来安装。安装完之后就可以直接使用了,跟之前提到的压缩...

李超小牛子 ⋅ 33分钟前 ⋅ 0

使用npm发布自己的npm组件包

一、注册npm账号 官网:https://www.npmjs.com/signup 注册之后需要进行邮箱验证,否则后面进行组件包发布时候会提示403错误,让进行邮箱核准。 二、本地新建一个文件夹,cd进入后使用npm i...

灰白发 ⋅ 35分钟前 ⋅ 0

010. 深入JVM学习—垃圾收集策略概览

1. 新生代可用GC策略 1. 串行GC(Serial Copying) 算法:复制(Copying)清理算法; 操作步骤: 扫描年轻代中所有存活的对象; 使用Minor GC进行垃圾回收,同时将存活对象保存到“S0”或“S...

影狼 ⋅ 35分钟前 ⋅ 0

JVM性能调优实践——JVM篇

在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践——性...

Java小铺 ⋅ 36分钟前 ⋅ 0

误关了gitlab sign-in 功能的恢复记录

本想关sign-up的,误点了sign-in 退出后登录界面提示: No authentication methods configured 一脸懵逼.. 百度后众多方案说修改application_settings 的 signin_enabled字段; 实际上新版本字段...

铂金蛋蛋 ⋅ 37分钟前 ⋅ 0

登录后,后续请求接口没有带登录cookie可能原因

1.XMLHttpRequest.withCredentials没设置好,参考https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/withCredentials...

LM_Mike ⋅ 38分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部