当前位置: 首页 > 编程日记 > 正文

Spring工厂常识

  1. 环境搭建
    1. 导入Sring对应的jar包
    2. 导入Spring依赖的commons-loggin包
    3. 导入log4j.properties在src下
    4. 导入ApplicationContext.xml在任意目录下
  2. 是一个轻量级的企业开发框架
    1. 核心:IOC , AOP编程
    2. IOC:也就是inverse of control 控制反转
      1. 就是讲创建对象的权利转移到工厂中,从而实现解耦合和对于jdk功能的增强
      2. 对于常见的Spring工厂
        1. 本地使用的Spring工厂类  ClassPathXmlApplicationContext();
  3. 实际应用
    1. 对于单个配置中
      1. 控制对象创建的次数:单个:songleton
      2. 多个:protoprototype
    2. 如何使用
        1. 将对应的配置写入applicationContext.xml中
          <?xml version="1.0" encoding="UTF-8"?>
          <beans ><bean id="us" class="com.youyi.test.UserServiceimpl" scope="prototype"></bean><--比如这里就是id就是相当于引用名,class就是实际上的全类名,也就是指向的类,体现了一部分解耦合-->
          <!--这里的关系依然是反射解决:通过id找到对应的class找到全类名生成对应的类对象再newInstance生成对应的类的对象--> </beans>
        2. 对应实际java的使用
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.ClassPathXmlApplicationContext;public class BeanTest1 {public static void main(String[] args) {
          //这里就是创建spring工厂的本地实现类ClassPathXmlApplicationContext cpc
          = new ClassPathXmlApplicationContext("classpath:/com/youyi/test/applicationContext.xml");Object bean = cpc.getBean("us");    //通过实际的引用名去找到对应的classSystem.out.println(bean);Object bean2 = cpc.getBean("us");   //如果是单实例的选项的话这里bean和bean2打印出来的地址是一样的.但是如果是prototype的话二者属于多实例创建并不是同一个实例就不一样System.out.println(bean2);} }

          <!--这里是xml文件还是配置的时候注意的地方:-->
          <bean id="addressa" class="com.youyi.test3.Address"><property name="city" value="洛阳"></property><property name="zipCode" value="471003"></property></bean><!--对象当属性要先配置好这个对象放到工厂里之后ref引用就好--><bean id="user" class="com.youyi.test3.User"><property name="username" value="zhangshun"></property><property name="age" value="15"></property>//这是String和基本数据类型和包装类的写法<property name="alive" value="true"></property><property name="hobby">//这是集合和数组的写法<list><value>"抽烟"</value><value>"喝酒"</value><value>"烫头"</value><value>"爱老婆"</value></list></property><property name="friends">//这是map集合<map><entry key="1" value="张思梦"></entry><entry key="2" value="杜梦媛"></entry><entry key="3" value="嫣然"></entry></map></property><property name="dateSourse">//这是properties文件对应的写法<props><prop key="c1">"连接池1"</prop><prop key="c2">"连接池2"</prop></props></property><property name="address" ref="addressa"></property>//这就是对象当属性的时候用ref指向的形式</bean>

转载于:https://www.cnblogs.com/newzhangshun/p/10096619.html

相关文章:

iframe子页面操作父页面

2019独角兽企业重金招聘Python工程师标准>>> 最近经常用到iframe&#xff0c;用的最多的就是在子页面中操作父页面的方法或变量等&#xff0c;总结了用到的几种方法&#xff0c;如下&#xff1a; var tableName window.parent.frames["mainFrame"].tNam…

ASP.NET MVC动作过滤器

ASP.NET MVC中包含以下4种不同类型的Action Filter&#xff1a; 类型使用时机接口实现方法授权过滤器(Authorization Filter)在执行任何Filter或Action之前被执行&#xff0c;用于进行身份验证IAuthorizationFilterAuthorizeAttribute动作过滤器(Action Filter)在执行Action之前…

什么限制了GNN的能力?首篇探究GNN普适性与局限性的论文出炉!

作者 | Andreas Loukas译者 | 凯隐责编 | Jane出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】GNN是目前机器学习领域的热门网络之一&#xff0c;肯多研究与技术分享相比不可知的深度学习网络模型&#xff0c;GNN 有哪些吸引我们的优势及硬核实力。然而&…

OpenCV运动检测跟踪(blob track)框架组成模块详解

在..\opencv\doc\vidsurv文件夹中有三个doc文件&#xff0c;Blob_Tracking_Modules、Blob_Tracking_Tests、TestSeq&#xff0c;其中Blob_Tracking_Modules必须需要详读的。 “FG/BG Detection” module performsforeground/background segmentation for each pixel. “Blob E…

vi和软件安装

一 vi编辑器简介 vim 全屏幕纯文本编辑器 二 vim使用 1 vi 模式 vi 文件名 命令模式 输入模式 末行模式 命令----》输入 a&#xff1a;追加 i&#xff1a;插入 o&#xff1a;打开 i 命令----》末行 :w 保存 :q 不保存退出 2 命令模式操作 1&#xff09;…

鸟哥学习笔记---网络安全基础

yum clean [packages|header|all] packages:将已下载的软件文件删除 headers&#xff1a;将下载的软件文件头删除 all:将所有容器数据都删除 添加镜像站点&#xff1a;mirrorlisthttp://ftp.twaren.net/Linux/CentOS/6/os/x86_64/ http://free.nchc.org.tw/drbl-core/i386/RPMS…

使用纯C++实现SQL Server2005 数据库读写操作详细步骤

环境&#xff1a;虚拟机windows xp&#xff0c;vs2008 SQLServer 2005 Express 数据库访问技术采用ADO。 需要安装的软件包括&#xff1a;microsoft_dotnetfxchs2.0.exe、WindowsInstaller-KB893803-v2-x86.exe、SQLEXPR32_CHS.EXE、SQLServer2005_SSMSEE.msi、SQLServer200…

硬核吃瓜!上万条数据撕开微博热搜真相

作者 | 徐麟来源 | 转载自数据森麟&#xff08;ID:shujusenlin&#xff09;吃瓜前言关于新浪微博&#xff0c;向来都是各路吃瓜群众聚集之地&#xff0c;大家在微博中可以尽情吃瓜&#xff0c;各种类型的瓜应有尽有&#xff0c;只有你想不到的&#xff0c;没有你吃不到的。微博…

python类的__slots__属性、__del__属性、上下文(__enter__和__exit__)、

常规情况下&#xff0c;类的属性字典是共享的&#xff0c;而实例的字典是独立的。如果一个类的属性较少&#xff0c;但是拥有很多的实例&#xff0c;这些实例的属性字典会占用较多的内存空间。对这样的类来说&#xff0c;为了节省内存空间&#xff0c;可以使用__slots__类变量代…

普通帧,关键帧,空白关键帧的区别

1. 特点 帧——是进行flash动画制作的最基本的单位&#xff0c;每一个精彩的flash动画都是由很多个精心雕琢的帧构成的&#xff0c;在时间轴上的每一帧都可以包含需要显示的所有内容&#xff0c;包括图形、声音、各种素材和其他多种对象。 关键帧——顾名思义&#xff0c;有关键…

Spark入门系列(二)| 1小时学会RDD编程

作者 | 梁云1991转载自Python与算法之美&#xff08;ID:Python_Ai_Road&#xff09;导读&#xff1a;本文为 Spark入门系列的第二篇文章&#xff0c;主要介绍 RDD 编程&#xff0c;实操性较强&#xff0c;感兴趣的同学可以动手实现一下。RDD 是弹性分布式数据集(Resilient Dist…

Office2010启动慢的解决方法

以word2010为例&#xff1a; 解决启动慢的问题&#xff1a; 转自&#xff1a;http://www.blue1000.com/bkhtml/2011-12/70698.htm 首先启动Word2010&#xff0c;-->单击进入“文件”选项卡-->选择左边的“选项”按钮-->弹出“word选项”对话框窗口&#xff0c;-->…

如何在 Vue 项目中使用 echarts

数据的重要性我们大家都知道&#xff0c;就算再小的项目中都可能使用几个图表展示&#xff0c;我最近在做项目的过程中也是需要用到图表&#xff0c;最后选择了echarts 图表库&#xff0c;为什么选择 echarts&#xff0c;第一&#xff1a;简单上手容易&#xff0c;第二&#xf…

OpenCV实现在图像中写入汉字

由于OpenCV自带的cvInitFont和cvPutText函数不支持向图像中写入中文&#xff0c;参考http://www.opencv.org.cn/forum/viewtopic.php?t2083 中的方法&#xff0c;在windows7 64位机上用vs2008OpenCV2.3.1实现具体步骤如下&#xff1a; 1、新建一个控制台工程Test&#xff0c;先…

Operations Manager 2012 SP1配置部署系列之(二) SCOM监控SCVMM

你可以使用Operations Mangager连接到VMM上去监控VMM管理的虚拟机和虚拟机的主机的健康和可用性.你还可以监视VMM管理服务器的健康和可用性&#xff0c;VMM数据库服务器、存储库服务器&#xff0c;和矢量调制法的自服务门户web服务器.当你把VMM与Operations Mangager集成、VMM的…

ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图map的关系

前面已经介绍了如何使用URDF建造机器人小车并显示在Rviz的仿真环境里面&#xff0c;但是小车是静止的。下面介绍如何让它在Rviz里面动起来&#xff0c;并理清URDF,TF 和 odom 的关系。 1. ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图map的关系 一般在urdf文件…

谷歌新研究:基于数据共享的神经网络快速训练方法

作者 | Google Brain译者 | 凯隐责编 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;神经网络技术的普及离不开硬件技术的发展&#xff0c;GPU 和 TPU 等硬件型训练加速器带来的高算力极大的缩短了训练模型需要的时间&#xff0c;使得研究者们…

制作一个简单的linux

我这里是借助宿主机做的一个简单的Linux&#xff0c;我们只要知道一个Linux启动过程需要什么&#xff0c;这里制作就简单的多了。不过没有基础的也没关系&#xff0c;我写的很详细&#xff0c;没有基础的看了我写的步骤只要细心也是会做出来的&#xff0c;我这里的小Linux是很简…

nginx是什么,如何使用

一&#xff1a;nginx是什么&#xff1f; 二&#xff1a;nginx作为网关&#xff0c;需要具备什么&#xff1f;&#xff08;nginx可以作为web服务器&#xff0c;但更多的时候&#xff0c;我们把它作为网关&#xff0c;因为它具备网关必备的功能&#xff1a;&#xff09; 反向代理…

OpenCV中Mat数据结构使用举例

#include "stdafx.h"#include <string>#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;int _tmain(int argc, _TCHAR* argv[]){//创建一个用13j填充的 7 x 7 复矩阵-----1Mat M(7, 7, CV_32FC2, Scalar…

贾扬清加盟AI开发者大会!早鸟票抢购正式开启

整理 | 夕颜硬核 AI 技术大会&#xff0c;一年参加一次就够了。9 月 6日-7 日&#xff0c;2019 AI 开发者大会&#xff08;AI ProCon&#xff09;将在北京富力万丽酒店举行&#xff0c;人工领域技术领袖将再次齐聚一堂&#xff0c;探讨过去一年最新的 AI 技术趋势与变化&#x…

基本控件HyperlinkButton控件

HyperlinkButton控件可用来作为超链接按钮&#xff0c;支持页面导航。 若导航到MainPage.xaml&#xff0c;NavigateUri属性指定单击后导航页面的Uri 若导航到网页&#xff0c;必须同时指定TargetName&#xff0c;否则要报错。 <HyperlinkButton Width"200" Heigh…

江湖又现中科大少年班的传说

作者 | ——&#xff0c;夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;近日&#xff0c;《日本经济新闻》的一则报道指出&#xff1a;在左右着企业、国家和地区发展的人工智能领域&#xff0c;中科大少年班的人才支撑着中国的发展。中国自动驾…

[JOISC2014]バス通学

[JOISC2014]バス通学 题目大意&#xff1a; 有\(n(n\le10^5)\)个点和\(m(m\le3\times10^5)\)条交通线路。第\(i\)条交通线路可以让你在时间\(x_i\)从\(a_i\)出发&#xff0c;并在\(y_i\)时到达\(b_i\)。\(q(q\le10^5)\)次询问&#xff0c;每次询问若要在时间\(l_i\)到达\(n\)点…

Windows7在Notepad++中配置Python+OpenCV

1、 从http://notepad-plus-plus.org/下载最新的Notepad6.2.1安装&#xff1b; 2、 从http://www.python.org/下载python-2.7.3.msi安装到D:\Python27目录下&#xff0c;并将D:\Python27添加到环境变量Path中&#xff1b; 3、 打开Notepad&#xff0c;按下F5或者运行(R…

virtualenv 在windows下的绿化方法

virtualenv 在windows下的绿化方法测试环境&#xff1a;windows 7 32 en Python 2.7.3setuptools-0.6c11.win32-py2.7virtualenv-1.9.1-with-pip-1.3.11. f:\> virtualenv my2. 编辑 my/Scripts/activate.bat 前几行中设置VIRTUAL_ENV的那条语句&#xff0c;改为set VIRTUA…

当谈论迭代器时,我谈些什么?

作者 | 樱雨楼编辑 | 豌豆花下猫转载自python猫&#xff08;ID:python_cat&#xff09;导语&#xff1a;之前说过&#xff0c;我对于编程语言跟其它学科的融合非常感兴趣&#xff0c;但我还说漏了一点&#xff0c;就是我对于 Python 跟其它编程语言的对比学习&#xff0c;也很感…

Windows7在Eclipse中配置Python+OpenCV

1. 从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-windows-i586.exe&#xff0c;安装到D:\ProgramFiles\Java&#xff0c;并将D:\ProgramFiles\Java\jdk1.7.0_02\bin添加到环境变量中&#xff1b; 2. 从…

Pinterest基于AWS规模化使用Apache Kafka的实践经验

在Pinterest&#xff0c;Apache Kafka被用于为实时流应用程序传输数据、记录日志和可视化监控指标。Pinterest的Kafka托管在AWS上&#xff0c;为了实现复制和高可用性&#xff0c;其安装使用了MirrorMaker和DoctorKafka工具。 Pinterest的技术主管Yu Yang写道&#xff0c;Pinte…

Open×××以及其它IP层×××的完全链路层处理的实现

如果Open也能实现传输模式该有多好&#xff0c;如果基于Open实现的产品能仅仅作为一根昂贵的网线串接在用户网络环境&#xff0c;自动捕获感兴趣流量该有多好&#xff1b;如果它能做到只需要配置一个IP即可工作而无需配置任何路由该有多好。我们知道Open是一个用户态的程序&…