Spring中IOC与DI的学习

1、IOC

  

1.1步骤

 

 2、DI 依赖注入

2.1步骤:

其中的set方法是IOC容器来调用的

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--1、导入spring的坐标spring-context,对应版本5.2.10--><!-- 2、配置bean--><!--id是随便起的,之后需要根据id来new所需要的对象class表示给bean定义类型--><bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"/><bean id="bookService" class="com.itheima.service.impl.BookServiceImpl"><!--7、配置service与dao的关系将service中创建的bookDao建立对应的依赖name中为BookServiceImpl中创建的bookDaoref中指 IOC容器中bean的id为bookDao的bean--><property name="bookDao" ref="bookDao"/></bean>
</beans>

 3、bean

3.1bean的别名

通过name属性可以给bean起别名,用空格、逗号可以分隔不同的别名。

3.2 bean的作用范围

代码:

输出:

 根据bean中的scpoe属性来决定是需要单例与否(默认为singleton 即单例):

3.3bean的实例化

 方式一:

 方式2

 方式3:

 方式4:3.4 bean生命周期

第一种方法: 

第二种方法

bean的销毁:

 4.依赖注入的方式

4.1.1

 4.1.2

  4.1.3

5、依赖自动装配

 6、集合注入

    <bean id="bookDao" class="com.itheima.dao.Impl.BookDaoImpl"><property name="array"><array><value>100</value><value>200</value><value>300</value></array></property><property name="list"><list><value>itcast</value><value>abcd</value><value>hahaha</value></list></property><property name="set"><set><value>set1</value><value>set2</value><value>set3</value></set></property><property name="map"><map><entry key="countru" value="China"/><entry key="provice" value="Henan"/><entry key="city" value="kaifeng"/></map></property><property name="properties"><props><prop key="country">China</prop><prop key="provice">Shanxi</prop><prop key="city">Xian</prop></props></property></bean>

7 Spring中读取properties文件

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Studio 一些使用

1,配置:W:\android_tools\AndroidStudio2.1.3_SDK\android-studio-ide-141.2456560-windows\android-studio\bin\idea.properties在文件最后添加:disable.android.first.runtrue2,配置SDK Configure->project Default->Project structruekeymap:快捷键Altenter 万能快…

Mybatis初始化配置

框架&#xff1a;jar包配置文件 一、添加依赖 在项目的pom.xml文件中添加mybatis依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.1</version><scope>test</s…

用table展示树形结构数据_复习一下数据结构(二)——2.2 树形索引(23树)

普通树一个结点可以有多个孩子&#xff0c;但它本身只能存储一个元素&#xff0c;而二叉树结点最多只能有两个&#xff0c;这对于元素非常多的时候&#xff0c;会使得树的度或者是高度会非常大。这就使得内存存取外存的次数会增多&#xff0c;一旦涉及到外部存储设备&#xff0…

IO流详析

http://davidisok.iteye.com/blog/2106489转载于:https://www.cnblogs.com/dark-passion/p/5901333.html

Spring中整合mybatis包

一、把对应的依赖都添加上&#xff1a; mysql、mybatis、spring的依赖&#xff08;都是基础的&#xff09; <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.17<…

dfa转正则表达式_从0到1打造正则表达式执行引擎(二)

本文原文地址https://blog.csdn.net/xindoo/article/details/106458165在上篇博客从0到1打造正则表达式执行引擎(一)中我们已经构建了一个可用的正则表达式引擎&#xff0c;相关源码见https://github.com/xindoo/regex&#xff0c;但上文中只是用到了NFA&#xff0c;NFA的引擎建…

centos7开启vnc服务_CentOS 7.2搭建VNC远程桌面服务的方法

一、图形界面安装(MATE DESKTOP)CentOS 7 系统下&#xff0c;本文以 MATE 桌面环境安装进行安装配置说明&#xff1a;登录服务器&#xff0c;执行如下指令安装桌面环境&#xff1a;# 先安装 MATE Desktopyum groups install "MATE Desktop"命令输入之后&#xff0c;会…

GIT本地操作

01. GIT简介(PPT) 02. GIT命令行帮助 $ git help 查看git所有命令的帮助 $ git help 子命令 # 要退出帮助信息&#xff0c;按"q" # 翻看下页&#xff0c;按"空格" # 翻看上页&#xff0c;按"CTRLB" # 要搜索相关文字&#xff0c;按"/&quo…

AOP的学习

注意&#xff1a;不惊动原始设计 一、部署依赖 AOP开发默认导入 <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.4</version></dependency> 二、具体步骤 Aspect 告诉Sprin…

(五)多线程编程

一、多线程简介1、操作系统下的并行执行机制(1)并行就是说多个任务同时被执行。并行分微观上的并行和宏观上的并行。(2)宏观上的并行就是从长时间段&#xff08;相对于人来说&#xff09;来看&#xff0c;多个任务是同时进行的&#xff1b;微观上的并行就是真的在并行执行。(3)…

选择题_一级造价师选择题的分值是多少

一级造价工程师考试的选择题分为单选题和多选题&#xff0c;每科单选题为60题&#xff0c;每题一分&#xff1b;多选题为20题&#xff0c;每题两分&#xff0c;总分100分。一级造价师选择题的分值一级造价工程师考试共有《建设工程造价管理》、《建设工程计价》、《建设工程技术…

前端学习(2136):使用es6模块化出现Access to script at ‘file:///... ..from origin ‘null‘ has been blocked。。。错误

为什么会跨域&#xff1f; 因为你是在本地打开的文件&#xff0c;而file协议并不支持http, data, chrome, chrome-extension, https这些协议是支持跨域请求的而当你在某盘符位置下直接打开一个网页(script标签中引入了某地的某个js文件)&#xff0c;则在浏览器地址栏呈现如下&…

2017年什么命_所谓“佛系”,真的不是什么都不做!

文 | 新宇姐姐 猫咪de生活观在这匆忙的世道中&#xff0c;人心浮躁&#xff0c;急不可耐。这喧嚣的世界车水马龙&#xff0c;我们为了生活&#xff0c;三点一线的忙碌奔波。城市很繁华&#xff0c;容易让人迷失&#xff1b;尘世很奔波&#xff0c;容易让人疲倦。不由得让我们想…

洛谷 P3392 涂国旗

P3392 涂国旗 题目描述 某国法律规定&#xff0c;只要一个由N*M个小方块组成的旗帜符合如下规则&#xff0c;就是合法的国旗。&#xff08;毛熊&#xff1a;阿嚏——&#xff09; 从最上方若干行&#xff08;>1&#xff09;的格子全部是白色的。 接下来若干行&#xff08;&…

flask 接口 让别人能访问_flask搭建一个前后端分离的系统

我们通常说三端&#xff0c;pc端&#xff0c;android端和ios端。如果前后端不分离&#xff0c;相当是要做三套系统。如果前后端分离的话&#xff0c;可以共用一个后端&#xff0c;前端各自做自己的&#xff0c;不用管后端。前后端不分离在前后端不分离的应用模式中&#xff0c;…