spring的控制反转DI---基于注解实现
首先在pom.xml里面导入依赖:
<dependencies>
<!--要使用spring需要添加4个包但是maven会把他的几个依赖包同时下好-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
</dependencies>
配置applicationContext.xml:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans
6 http://www.springframework.org/schema/beans/spring-beans.xsd
7 http://www.springframework.org/schema/context
8 http://www.springframework.org/schema/context/spring-context.xsd">
9
10 <!--基于注解的方式我们的spring来实现控制反转以及依赖注入,扫描study下面的所有的包
11 包下面的所有的类但是符合条件的类是上面必须要带一个注解
12 -->
13 <context:component-scan base-package="com.lv.study"></context:component-scan>
14
15 </beans>
项目结构:

测试接口:
public interface TestService {
//用来测试的
public void show();
}
测试的实现类:
1 @Component
2 public class TestServiceImpl implements TestService {
3
4 TestMapper testMapper;
5
6 public void show() {
7
8 System.out.println("this is show time");
9 }
10 }
测试的servlet:
1 @Component//代表当前类被spring去管理
2 public class TestServlet {
3
4 //核心部分就是:IOC(现在都是基于注解的方式)
5 //1: spring 帮我们创建对象; 控制反转IOC
6 //2: spring 帮我们赋值;依赖注入DI
7
8
9 @Autowired//将我们spring控制的testService的实现类,对这个属性进行依赖注入(赋值)
10 TestService testService;
11
12
13 public void test(){
14
15 testService.show();
16 }
测试结果类:
1 public class Test {
2
3 public static void main(String[] args) {
4
5 //如何获取testservlet类
6 //根据spring提供给我们的实例获取xml文件里面的所有的bean
7 //在spring里面吧每一个交给spring管理的对象(类)都叫一个bean
8 ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
9 TestServlet testServlet = (TestServlet) ac.getBean("testServlet");
10
11 testServlet.test();
12
13 }
14 }
测试结果:

spring的控制反转DI---基于注解实现的更多相关文章
- Helloworld之Spring依赖注入/控制反转(DI/IoC)版
Helloworld之Spring依赖注入/控制反转(DI/IoC)版 作者:雨水, 日期:2014-10-29 摘要:本文主要用于培训刚開始学习的人理解Spring中的依赖注入的基本概念. 先介绍依 ...
- 学习Spring IOC控制反转和DI依赖注入总结
30岁的小曹,20岁的身体,还在坚持在能力允许控制范围内22点睡觉,5点起床锻炼身体,好好学习,除了加班或者像今天这样的深夜,再一次写已经有X百万人写过的 spring Ioc 的总结博客. 一.IO ...
- Spring的控制反转(IOC)和依赖注入(DI)具体解释
Spring的控制反转(IOC)和依赖注入(DI)具体解释 首先介绍下(IOC)控制反转: 所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的.这样控制器就有应 ...
- Spring IOC(控制反转)思想笔记
Spring IOC(控制反转)思想笔记 IOC控制反转基本理念就是将程序控制权从程序员手中交给用户自定义,从而避免了因为用户一个小需求的变化使得程序员需要改动大量代码. 案例 如果按照之前javaw ...
- 【SSH】——spring的控制反转和依赖注入
spring是一个轻量级的容器框架,主要是为了使企业的开发变得简单.高效.无论是从大小还是开销来讲,他都可以算是轻量级的,也是非侵入性的. 下图是spring的框架示意图,说到spring,就不得不提 ...
- Spring IoC控制反转创建实例
Spring IoC控制反转创建实例写一个配置文件beans.xml,配置文件的约束可以访问:完整链接:https://repo.spring.io/libs-release-local/org/sp ...
- Spring IoC 源码分析 (基于注解) 之 包扫描
在上篇文章Spring IoC 源码分析 (基于注解) 一我们分析到,我们通过AnnotationConfigApplicationContext类传入一个包路径启动Spring之后,会首先初始化包扫 ...
- Spring 04: IOC控制反转 + DI依赖注入
Spring中的IOC 一种思想,两种实现方式 IOC (Inversion of Control):控制反转,是一种概念和思想,指由Spring容器完成对象创建和依赖注入 核心业务:(a)对象的创建 ...
- Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)
关于依赖注入, 这篇博文写的非常简单易懂. https://github.com/android-cn/blog/tree/master/java/dependency-injection 此外, 博 ...
- Spring入门--控制反转(IOC)与依赖注入(DI)
1.控制反转(Inversion of Control)与依赖注入(Dependency Injection) 控制反转即IoC (Inversion of Control).它把传统上由程序 ...
随机推荐
- HTTP/1.1 优化
避免发送 HTTP 请求 对于一些具有重复性的 HTTP 请求,比如每次请求得到的数据都一样的,我们可以把这对「请求-响应」的数据都缓存在本地,通过缓存技术减少请求次数. 客户端会把第一次请求以及响应 ...
- 【硬件】认识和选购4K画质的显卡
2.6 认识和选购4K画质的显卡 显卡一般是一块独立的电路板,插在主板上接收由主机发出的控制显示系统工作的指令和显示内容的数字信号,然后通过输出模拟(或数字)信号控制显示器显示各种字符和图形,它和显示 ...
- .NET多线程编程之CountdownEvent使用
简单来说,使用这个类可以让主线程等待子线程都完成任务之后才执行任务 1 static void Main(string[] args) 2 { 3 ///子任务的数量 4 CountdownEvent ...
- Linux下more命令高级用法
我们在 Linux 环境下工作时,每天肯定会跟各种各样的文本文件打交道.这些文件,有时候会非常长,无法在一屏的空间内显示完全.所以,在查看这种文件时,我们需要分页显示.这时,我们就可以使用 more ...
- Navicat Premium 16激活教程(NavicatCracker)
1.安装Navicat Premium 16 (注意版本,这里以此版本为例):并下载激活工具 1.1.Navicat Premium 下载路径: http://www.navicat.com.cn/d ...
- Flex布局教程:语法篇--css中的display:Flex
先用一句话秒懂display:Flex;这句css代码,如图: 放个目录先: 目录 一.Flex布局是什么? 二.基本概念 三.容器的属性 3.1 flex-direction属性(主轴的方向) 3. ...
- 一个用原生JavaScript实现的日历小工具,开箱即用
---------------- 用原生JavaScript实现的一个日历小工具,开箱即用,可用于做签到记录.日程等显示控件,具体自己发挥啦 效果如下图,可以自行美化 >>点击体验< ...
- ThinkPHP3.2无法加载控制器
无法加载控制器:Admin 错误位置 FILE: D:\phpStudy\WWW\wisdom\ThinkPHP\Library\Think\App.class.php LINE: 101 在将Thi ...
- IP、端口相关
Windows端口被占用 按住[Windows+R]键输入cmd回车 输入命令[netstat -aon|findstr "端口号"]后按回车,找对最后一列对应的数字,即为这个端口 ...
- sql学习day2——运用case进行有条件的update(续day1)
1.薪水表,如下所示,要求:为下一年调整工资22000以下的员工涨工资10%,24000以上的员工减少10% 思考:如果先update薪水24000以上的员工,假设某工资为24000,24000*(1 ...