spring-ioc知识点
1.bean管理
-spring创建对象
-在spring的配置文件中,使用bean标签、标签里添加对应的属性、就可以实现对象的创建
-在bean标签中有很多属性
-id属性:唯一的标识
-class属性:类全路径(包类的路径)
-创建对象的时候:默认无参
-spring注入属性
2.基于xml方式注入属性:
-DI;依赖注入:就是注入属性。
-使用set方法进行注入
<!--set注入属性 -->
<bean id="book" class="com.spring5.book">
<property name="bName" value="狂人日记">
<!-- property - name 注入的属性名字 value-注入的值 -->
</property>
<property name="bAuthor" value="鲁迅" >
</property>
</bean>
-使用有参构造器进行注入
-
<bean id="order" class="com.spring5.Order">
<constructor-arg name="oName" value="电脑"></constructor-arg>
<constructor-arg name="oAddress" value="China"></constructor-arg>
</bean>
-
注入属性
1.注入属性:外部
-创建两个类《service》 《dao》
-在service中调用dao
<bean id="userService" class="com.spring5.service.UserService">
<property name="userDAO" ref="userDAO"></property>
</bean>
<bean id="userDAO" class="com.spring5.dao.UserDAOImpl"></bean>
2.注入属性:内部bean和级联复制
1.1对n的关系:部门和员工 一个部门有多个院,一个员工属于一个部门
<bean id="emp" class="com.spring5.bean.Emp">
<property name="eName" value="Jerry"/>
<property name="gender" value="女"/>
<property name="dept" >
<bean id="dept" class="com.spring5.bean.Dept">
<property name="dName" value="保安部"/>
</bean>
</property>
</bean>
注入集合属性
-set list map
<bean id="stu" class="com.spring5.bean2.Stu">
<property name="courses" >
<array>
<value>java课程</value>
<value>数据库课程</value>
</array>
</property>
<property name="list">
<array>
<value>张珊</value>
<value>萧山</value>
</array>
</property>
<property name="map">
<map>
<entry key="Java" value="java"></entry>
</map>
</property>
<property name="set">
<set>
<value>MYsql</value>
<value>redis</value>
</set>
</property>
<property name="coursesList">
<list>
<ref bean="coures1"/>
<ref bean="coures2"/>
</list>
</property>
</bean>
<!-- 注入list集合 但是 list<counrs> 里面是对象-->
<bean id="coures1" class="com.spring5.bean2.course">
<property name="cName" value="Spring5框架"/>
</bean>
<bean id="coures2" class="com.spring5.bean2.course">
<property name="cName" value="MyBatis框架"/>
</bean>
6.bean的作用域
-单实例
output:
com.spring5.book@10163d6
com.spring5.book@10163d6
class = com.spring.作用域.Test
-如何设置单实例还是多实例
-在spring配置文件的bean标签中有属性(scope)用于设置单实例还是多实例
-scope属性值:
-默认值:singleton 表示是单实例对象
-prototype 表示是多实例对象
-output: 多实例化
com.spring5.book@31e5415e
com.spring5.book@a2431d0
-request session
7.bean的生命周期(servlet的生命周期类比)
-从对象创建到对象销毁的过程
-bean的生命周期:
-1.通过构造器创造bean的实例(无参构造器)
-2.为bean的属性设置或者其他的bean的引用(set方法)
-3.调用bean中的init方法 (需要进行设置)
-4.bean可以使用了
-5.当容器关闭的时候,调用bean的销毁方法
-3.演示bean的生命周期
8.自动装配
-什么是自动装配?
-1.根据指定的装备规则,spring自动将匹配的属性值进行注入
-byName
-byType
9.ioc-bean管理 外部属性文件
-1.直接配置数据库的信息
-连接池:druid连接池
-2.引入外部的属性文件配置数据库的连接池
<!-- 数据库的外部属性文件的引入配置数据库操作-->
<context:property-placeholder location="jdbc.properties"/>
<bean id="druid" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${prop.driverClassName}"/>
<property name="url" value="${prop.url}"/>
<property name="username" value="${prop.username}"/>
<property name="password" value="${prop.password}"/>
</bean>
class:spring-day02-src-bean1.xml
ioc操作bean管理-注解
-1.什么是注解
-2.注解为了简化xml的配置
2.
-bean管理的注解(针对创建对象的提供的注解)
-1.component
-2.service
-3.controller
-4.repository
3.
-第一步引入依赖
-开启组件扫描
-开启组件扫描的细节:
<!-- 示例1
use-default-filters="false" 表示不再使用默认的filter 自己配置filter
context:include-filter 配置需要扫描的注解格式
-->
<context:component-scan base-package="com.service" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 示例2
context:exclude-filte表示配置不扫描某个类型的注解
-->
<context:component-scan base-package="com.service">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
4.注解进行属性注入
-autowired 根据属性类型进行自动装配
-qualifier 根据属性名称进行注入
-resource 根据类型进行注入 =也可以根据名称注入
-value 注入普通类型属性
spring-ioc知识点的更多相关文章
- Spring IOC知识点一网打尽!
前言 只有光头才能变强 回顾前面: 给女朋友讲解什么是代理模式 包装模式就是这么简单啦 单例模式你会几种写法? 工厂模式理解了没有? 在刷Spring书籍的时候花了点时间去学习了单例模式和工厂模式,总 ...
- 总结:spring 的ioc 知识点
1. spring ioc的优点 解耦,对象的创建不直接在代码里生成(不方便修改) ,交由容器创建.... 2.IOC 和 DI 的区别 依赖关系:A类 里 要调用B类 如 se ...
- spring原理案例-基本项目搭建 03 创建工程运行测试 spring ioc原理实例示例
下面开始项目的搭建 使用 Java EE - Eclipse 新建一 Dynamic Web Project Target Runtime 选 Apache Tomcat 7.0(不要选 Apache ...
- 案例学编程系列:案例认识 Spring IOC
本文spring libs 地址:https://github.com/yizhiamumu/springlibs Spring 能帮我们做什么 ①.Spring 能帮我们根据配置文件创建及组装对象之 ...
- Spring IOC 容器源码分析
声明!非原创,本文出处 Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器.既然大家平时都要用到 Spring,怎么可以不好好了解 S ...
- 关于Spring IOC (DI-依赖注入)需要知道的一切
关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 <Spring入门经典>这本书无论对于初学者或者有 ...
- Spring IOC 源码分析
Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器.既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文 ...
- 关于Spring IOC (DI-依赖注入)
<Spring入门经典>这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring IOC相关 ,这篇博文适合初 ...
- Spring IOC 巨多 非常 有用
关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 <Spring入门经典>这本书无论对于初学者或者有 ...
- Spring IOC 容器源码分析(转)
原文地址 Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器.既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢 ...
随机推荐
- HTML(下)
(一)表格标签 1.表格的作用 用于显示.展示数据,让数据更加规整,可读性更好,把繁琐的数据表现得很有条理,表格不是用来布局页面的,而是用来展示数据的 2.表格标签基本语法 table--table ...
- 有意思的方向裁切 overflow: clip
本文将介绍一个新特性,从 Chrome 90 开始,overflow 新增的一个新特性 -- overflow: clip,使用它,轻松的对溢出方向进行控制. overflow: clip 为何 首先 ...
- 大家都能看得懂的源码 - 那些关于DOM的常见Hook封装(二)
本文是深入浅出 ahooks 源码系列文章的第十五篇,该系列已整理成文档-地址.觉得还不错,给个 star 支持一下哈,Thanks. 本篇接着针对关于 DOM 的各个 Hook 封装进行解读. us ...
- 完全彻底的卸载MySQL5.7.35
最开始接触计算机的时候关于MySQL卸载的这个问题,导致我重装了一次系统.就在今天我又遇到了同样的问题. Setp①: 想要安装新的数据库软件必须要先彻底且干净的删除掉以前的数据库. 第一步要做的是停 ...
- C#,使用NPOI,导出excel文件
/// <summary> /// 导出excel文件 /// </summary> /// <param name="dt">Table表数据 ...
- JS作用域、变量提升和闭包
作用域 作用域可以理解为JS引擎执行代码的时候,查找变量的规则. 从确定变量访问范围的阶段的角度,可以分为2类,词法作用域和动态作用域.js是词法作用域. 从变量查找的范围的角度,可以分为3类,全局作 ...
- 使用kubeoperator安装的k8s集群以及采用的containerd容器运行时,关于采用的是cgroup 驱动还是systemd 驱动的说明
使用kubeoperator安装的k8s集群,默认使用的是systemd驱动 # kubectl get cm -n kube-system NAME DATA AGE calico-config 4 ...
- 查看pod对应的DNS域名
单个pod # kubectl exec redis-pod-0 -n cluster-redis -- hostname -f redis-pod-0.redis-cluster-service.c ...
- Kubernetes角色访问控制RBAC和权限规则(Role+ClusterRole)
文章转载自:https://blog.csdn.net/BigData_Mining/article/details/88849696 基于角色的访问控制(Role-Based Access Cont ...
- 我的 Kafka 旅程 - 文件存储机制
存储机制 Topic在每个Broker下存储所属的Partition,Partition下由 Index.Log 两类文件组成. 写入 Log 由多个Segment文件组成,每个Segment文件容量 ...