首先在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---基于注解实现的更多相关文章

  1. Helloworld之Spring依赖注入/控制反转(DI/IoC)版

    Helloworld之Spring依赖注入/控制反转(DI/IoC)版 作者:雨水, 日期:2014-10-29 摘要:本文主要用于培训刚開始学习的人理解Spring中的依赖注入的基本概念. 先介绍依 ...

  2. 学习Spring IOC控制反转和DI依赖注入总结

    30岁的小曹,20岁的身体,还在坚持在能力允许控制范围内22点睡觉,5点起床锻炼身体,好好学习,除了加班或者像今天这样的深夜,再一次写已经有X百万人写过的 spring Ioc 的总结博客. 一.IO ...

  3. Spring的控制反转(IOC)和依赖注入(DI)具体解释

    Spring的控制反转(IOC)和依赖注入(DI)具体解释 首先介绍下(IOC)控制反转: 所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的.这样控制器就有应 ...

  4. Spring IOC(控制反转)思想笔记

    Spring IOC(控制反转)思想笔记 IOC控制反转基本理念就是将程序控制权从程序员手中交给用户自定义,从而避免了因为用户一个小需求的变化使得程序员需要改动大量代码. 案例 如果按照之前javaw ...

  5. 【SSH】——spring的控制反转和依赖注入

    spring是一个轻量级的容器框架,主要是为了使企业的开发变得简单.高效.无论是从大小还是开销来讲,他都可以算是轻量级的,也是非侵入性的. 下图是spring的框架示意图,说到spring,就不得不提 ...

  6. Spring IoC控制反转创建实例

    Spring IoC控制反转创建实例写一个配置文件beans.xml,配置文件的约束可以访问:完整链接:https://repo.spring.io/libs-release-local/org/sp ...

  7. Spring IoC 源码分析 (基于注解) 之 包扫描

    在上篇文章Spring IoC 源码分析 (基于注解) 一我们分析到,我们通过AnnotationConfigApplicationContext类传入一个包路径启动Spring之后,会首先初始化包扫 ...

  8. Spring 04: IOC控制反转 + DI依赖注入

    Spring中的IOC 一种思想,两种实现方式 IOC (Inversion of Control):控制反转,是一种概念和思想,指由Spring容器完成对象创建和依赖注入 核心业务:(a)对象的创建 ...

  9. Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)

    关于依赖注入, 这篇博文写的非常简单易懂. https://github.com/android-cn/blog/tree/master/java/dependency-injection 此外, 博 ...

  10. Spring入门--控制反转(IOC)与依赖注入(DI)

        1.控制反转(Inversion of Control)与依赖注入(Dependency Injection) 控制反转即IoC (Inversion of Control).它把传统上由程序 ...

随机推荐

  1. minikube搭建Kubernetes环境

    前言 Kubernetes 一般都运行在大规模的计算集群上,管理很严格,Kubernetes 充分考虑到了这方面的需求,提供了一些快速搭建 Kubernetes 环境的工具. minikube 它是一 ...

  2. 200条Git命令复习总结使用

    新建 创建一个新的 git 版本库.这个版本库的配置.存储等信息会被保存到.git 文件夹中 # 初始化当前项目 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init ...

  3. 生产环境swarm集群规划和管理

    swarm集群角色 swarm集群中有两种角色,manager node和 worker ndoe. manager的功能: 维护集群状态 任务调度 为swarm集群提供HTTP API 可以创建只有 ...

  4. Tomcat之Jconsole监控

    JConsole的图形用户界面是一个符合Java管理扩展(JMX)规范的监测工具,JConsole使用Java虚拟机(Java VM),提供在Java平台上运行的应用程序的性能和资源消耗的信息.在Ja ...

  5. 从 sum 求和谈 axis=1 or 0

    二维数组 axis=0:表示从上往下 axis=1:表示从左往右 temp = np.array([[1, 2], [3, 4]]) print("原矩阵数组:\n",temp) ...

  6. javascript for...in

    在JS中我们最常见的循环语句是for循环语句,一个简单的for循环语句如下: for(var i = 0, n = 100; i < n; i++){ // to do somethings . ...

  7. ST表 RMQ问题(区间最大/最小值查询)

    #include <iostream> #include <cstring> #include <algorithm> #include <cmath> ...

  8. 基于transformer的机器翻译:手把手教你实现

    目录 前言 transformer模型的搭建 Input embedding Encoder Decoder output transformer构建 data数据集处理 train config 参 ...

  9. github项目收集

    web模块 Nginx 监控模块vts: https://github.com/vozlt/nginx-module-vts

  10. 解决 podman 容器无法在宿主机和容器内部相互访问问题的记录

    解决 podman 容器无法在宿主机和容器内部相互访问问题的记录 近期在使用 podman 时,遇到了容器无法在宿主机和容器内部相互访问的问题.经过一番探索,参考了这篇文章,成功解决了该问题.在此,我 ...