关于Spring Ioc和DI注解的问题

目录
  • 1.Spring配置数据源
    • 1.1数据源的开发步骤
    • 数据源的手动创建
    • Spring配置数据源
    • 4抽取jdbc配置文件(最后的方法实现配置数据源)
    • Spring注解开发
  • 2,Spring新注解

1.Spring配置数据源

1.1 数据源(连接池)的作用 (常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等)

• 数据源(连接池)是提高程序性能如出现的

• 事先实例化数据源,初始化部分连接资源

• 使用连接资源时从数据源中获取

• 使用完毕后将连接资源归还给数据源

1.1 数据源的开发步骤

① 导入数据源的坐标和数据库驱动坐标

② 创建C3P0连接池

数据源的手动创建

① 导入mysql数据库驱动坐标

② 创建C3P0连接池

③ 提取jdbc.properties配置文件

④ 读取jdbc.properties配置文件创建连接池

Spring配置数据源

可以将DataSource的创建权交由Spring容器去完成 (set注入完成)

  • DataSource有无参构造方法,而Spring默认就是通过无参构造方法实例化对象的
    DataSource要想使用需要通过set方法设置数据库连接信息,而Spring可以通过set方法进行字符串注入

4 抽取jdbc配置文件(最后的方法实现配置数据源)

applicationContext.xml加载jdbc.properties配置文件获得连接信息。

首先,需要引入context命名空间和约束路径:

命名空间:xmlns:context="http://www.springframework.org/schema/context"

约束路径:

<!--       加载外部的properties文件-->
      <context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${jdbc.driver}"></property>
    <property name="jdbcUrl" value="${jdbc.url}"></property>
    <property name="user" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
</bean>

知识要点
Spring容器加载properties文件

《======================================================================================================》

Spring注解开发

Spring原始注解

Spring原始注解主要是替代<bean>的配置

注意:
使用注解进行开发时,需要在applicationContext.xml中配置组件扫描,作用是指定哪个包及其子包下的Bean
需要进行扫描以便识别使用注解配置的类、字段和方法。

<!--     配置组件扫描-->
    <context:component-scan base-package="com.study" />

2 ,Spring新注解

使用上面的注解还不能全部替代xml配置文件,还需要使用注解替代的配置如下:

非自定义的Bean的配置:<bean>

加载properties文件的配置:<context:property-placeholder> ----------->@PropertySource("classpath:jdbc.properties") 加载外部所需要的 properties文件

组件扫描的配置:<context:component-scan> ---------->@ComponentScan("com.xxx")扫描所需要的包

引入其他文件:<import>

到此这篇关于SpringIoc和DI注解的文章就介绍到这了,更多相关SpringIoc和DI注解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringIOC DI循环依赖实例详解

    要弄清楚循环依赖 1.需要知道Bean初始化的两个阶段 ① Bean实例化创建实例对象(new Bean()) ② Bean实例对象初始化(DI:注解自动注入) 2.DefaultSingletonBeanRegistry类中的5个容器 /** 记录已将创建的单例<beanName,singletonBean> */ private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>(

  • spring的IoC和DI详解

    这里先来简单介绍下IoC和DI的区别: IOC:翻译过来是控制反转,将对象的创建权由Spring管理,HelloService不需要自己去创建,Spring可以帮你创建. DI:依赖注入,在我们创建对象的过程中,把对象依赖的属性注入到我们的类中. 我们现在编写的类是没有其它的属性的,如果你学过UML这种设计的话,面向对象中对象中的几种关系 简单来书,IoC更像是一种思想,DI是一种行为. 另一种说法是,ioc是目的,di是手段.ioc是指让生成类的方式由传统方式(new)反过来,既程序员不调用n

  • Spring IOC和DI实现原理及实例解析

    什么是Spring Spring是一个以IoC和AOP为内核的框架. IoC(Inversion of Control ,控制反转)是Spring的基础. IoC简单说就是创建对象由以前的程序员调用new 构造方法,变成了交由Spring创建对象. DI(Dependency Inject,依赖注入)与IoC的含义相同,只不过这两个称呼是从两个角度描述的同一个概念. 简单地说, DI就是对象的属性,已经被注入好相关值了,直接使用即可. IoC-控制反转   把各个对象类封装之后,通过IoC容器来

  • Spring注解配置IOC,DI的方法详解

    目录 1.注解 @Component 第一步:在 applicationContext.xml 中引入命名空间 第二步:在 applicationContext.xml 文件中引入注解扫描器 第三步:在 Person 类中添加注解@Component 第四步:测试 2.@Repository @Service @Controller 3.注解@Resource 4.注解 @Autowired 第一步:创建接口 PersonDao 第二步:创建一个接口实现类 PersonDaoImplOne 第三

  • 一篇文章彻底理解SpringIOC、DI

    前言 你可能会有如下问题: 1.想看Spring源码,但是不知道应当如何入手去看,对整个Bean的流程没有概念,碰到相关问题也没有头绪如何下手 2.看过几遍源码,没办法彻底理解,没什么感觉,没过一阵子又忘了 本文将结合实际问题,由问题引出源码,并在解释时会尽量以图表的形式让你一步一步彻底理解Spring Bean的IOC.DI.生命周期.作用域等. 先看一个循环依赖问题 现象 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环.比如A依赖于B,B依赖于C,C又依

  • 关于Spring Ioc和DI注解的问题

    目录 1.Spring配置数据源 1.1数据源的开发步骤 数据源的手动创建 Spring配置数据源 4抽取jdbc配置文件(最后的方法实现配置数据源) Spring注解开发 2,Spring新注解 1.Spring配置数据源 1.1 数据源(连接池)的作用 (常见的数据源(连接池):DBCP.C3P0.BoneCP.Druid等) • 数据源(连接池)是提高程序性能如出现的 • 事先实例化数据源,初始化部分连接资源 • 使用连接资源时从数据源中获取 • 使用完毕后将连接资源归还给数据源 1.1

  • Spring IOC容器Bean注解创建对象组件扫描

    目录 Spring IOC Bean注解对象组件扫描 一.spring 针对 bean 管理中创建对象提供注解 1. 引入依赖 2. 开启组件扫描 3. 创建类,并添加注解来创建对象 4. 测试一下 二.组件扫描的其他过滤条件 1. include-filter 2. exclude-filter Spring IOC Bean注解对象组件扫描 什么是注解? 注解是代码里的特殊标记,格式: @注解名称(属性名称=属性值, 属性名称2=属性值...) 可以作用在:类.方法.属性上面. 使用注解的目

  • Spring IOC与DI核心重点分析

    目录 1. Spring 是什么 2. IOC 是什么 2.1 正向控制 2.2 反向控制 3. DI 概念说明 4. Spring 的工作模式可以理解成一个买卖对象的市场 5. 以一个小程序来理解 IOC 和 DI 6. 以 XML 文件的方式将对象注入到我们自己创建的库中 6.1 新建一个 XML 文件 6.2 在 Main 中操作这个库 6.3 XML 文件的方式注入 bean(对象) 1. Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework(Sp

  • Spring IOC与DI核心深入理解

    目录 深入理解IOC思想 DI&IOC 深入理解IOC思想 spring本质就在于将对象全部交由给spring容器创建和管理,由容器控制对象的整个生命周期.核心就是IOC控制反转和AOP面向切面编程 先说IOC IOC是一种设计思想,叫做控制反转.本质就是通过Spring来负责对象的生命周期以及对象间的关系.在面向对象的开发过程中,我们程序中的各个对象往往会存在各种各样的依赖关系,因此耦合度极高,一旦修改其中一个类信息就会牵扯到很多相关类需要修改.那么为了降低这种耦合度IOC指出引用第三方容器,

  • Spring使用IOC与DI实现完全注解开发

    方式一:@Component + @ComponentScan + @Value + @Autowired 首先还是pom文件,maven项目依赖必不可少. <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.5.RELEASE</

  • 使用Java注解模拟spring ioc容器过程解析

    使用注解,简单模拟spring ioc容器.通过注解给对象属性注入值. 项目结构 annotation 包,用于存放自定义注解 Component 注解表示该类为组件类,并需要声明名字 package priv.haidnor.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy;

  • Spring IOC容器的Bean管理基于注解属性注入方式

    目录 基于注解方式进行属性注入 一.@Autowired 1. 添加对象注解 2. 在service中注入dao对象 3. 创建测试函数测试效果 二.@Qualifier 三.@Resource 1. 替代 @Autowired 2. 替换 @Qualifier 四.@Value 基于注解方式进行属性注入 涉及到 4 个注解 @Autowired:根据属性类型,进行自动装配 @Qualifier:根据属性名称进行注入,跟 @Autowired 一起使用 @Resource:既可以根据类型注入,也

  • Spring IOC容器Bean管理的完全注解开发放弃配置文件

    目录 IOC容器基于Bean管理的完全注解开发放弃配置文件 创建配置类 测试一下 IOC容器基于Bean管理的完全注解开发放弃配置文件 通过注解的方式,我们不需要在xml配置文件里进行各种注入配置,只需要开启扫描即可. 那如果开启扫描也能通过注解方式,那不就完全不需要配置文件了么? 创建配置类 创建配置类,替代 xml 配置文件. package com.pingguo.spring5.config; import org.springframework.context.annotation.C

随机推荐