java spring bean配置文件_Spring基于xml文件配置Bean过程详解

这篇文章主要介绍了spring基于xml文件配置Bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

通过全类名来配置:

class:bean的全类名,通过反射的方式在IOC容器中创建Bean,所以要求bean中必须有一个无参的构造器。

在springIOC容器读取Bean配置创建Bean的实例之前,需要对容器进行实例化。spring提供了两种类型的IOC容器实现:

beanfactory:IOC容器的基本实现。

ApplicationContext:提供了更多高级特性,是beanfactory的子接口。

ApplicationContext主要实现类:

ClassPathXmlApplicationContext:从类路径加载配置文件。

FileSystemXmlApplicationContext:从文件系统中加载配置文件。

ConfigureableApplicationContext扩展于ApplicationContext,新增两个方法refresh()和close(),让ApplicationContext具有启动、刷新和关闭上下文的能力。

ApplicaiotnContex在初始化时就上下文时就实例化所有单例的Bean。

WebApplicationContext是专门用于WEB应用的,它允许从相对于WEB根目录的路径中完成初始化工作。

依赖注入的三种方式

(1)属性注入:通过setter方法:,即在bean中存在setter方法。

(2)构造器注入:,根据构造方法中初始化的参数进行一一设置,同时,可以根据参数的顺序index,参数的类型type来区分重载的构造器。

(3)工厂方法注入(很少使用,不推荐)

//第一种方式注入属性值

//第二种方式注入属性值

99.00

package com.gong.spring.beans;

public class Student {

private String name;

private int age;

private double score;

public Student(String name,int age,double score) {

this.name = name;

this.age = age;

this.score = score;

}

@Override

public String toString() {

return "Student [name=" + name + ",age=" + age + ",score=" + score + "]";

}

}

public static void main(String[] args) {

//1.创建spring的IOC容器对象

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

//2.从容器中获取Bean实例

Student student = (Student) ctx.getBean("student");

System.out.println(student.toString());

}

73276a8f2ac6d040ee8cf20bac4e7d78.gif

当属性值有特殊符号时,要用以下方式:

]]>

用。

相关文章

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

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

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

相关文章

win10升级后chrome碰到对话框就卡死

低版本的 chrome 会出现这样的问题 解决方法: 设置-------高级设置-----取消硬件加速

客户端SDK测试思路

本文来自网易云社区作者:万春艳是什么客户端SDK是为第三方开发者提供的软件开发工具包,包括SDK接口、开发文档和Demo示例等。SDK和应用之间是什么关系呢?以云信即时消息服务为例,如下图所示,应用客户端通过调用云信SDK…

nginx could not build the server_names_hash 解决方法

原文地址:http://www.jb51.net/article/26412.htm ------------------------------------------------------- nginx “nginx could not build the server_names_hash”解决方法 给一个服务器下增加了一些站点别名,差不多有20多个。 重启nginx时候&#…

java 使用fusioncharts_fusioncharts同一页面显示2个仪表盘,且以java字符串作为xml数据...

fusioncharts同一页面显示2个仪表盘,且以java字符串作为xml数据String path request.getContextPath();%>String xml "";%>FusionCharts - Multiple Charts on one Pagevar contextpath "";var xml ;body {font-family: Arial, Helve…

排名前16的Java工具类

原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码…

VS2012(Visual Studio 2012)官方免费中文旗舰版下载(含激活密钥)

原文路径:http://www.nocang.com/visual-studio-ultimate-2012/ vs2012旗舰版安装激活教程 1、下载到的是ISO格式文件,直接解压缩或用虚拟光驱加载运行;2、无所不藏推荐直接解压缩安装即可,双击“vs_ultimate.exe”进行安装&#…

magic square java_测试Magic Square Java的.txt文件

我不想问,但我无法弄清楚这个任务,当我寻求帮助时,助教也不会。我必须从文本文件中获取输入,将文件中的整数输入到数组列表中,然后测试它是否是anxn幻方。n等于数组列表长度的平方根。如果不是理想的正方形&#xff0c…

字符串拼串 能缓解我们的开发难度→!←(ε=(´ο`*)))唉,又是一个不知道该怎么写题目的随笔啊,头疼)...

简单描述:今天看我同事提交的代码,发现一个东西,让我有了一点小想法,是这样的,他利用一个‘’无关紧要‘’的标签属性,(哈哈哈,也不能说人家是无关紧要的属性了,暂时是无关紧要的属性…

SQL中使用DISTINCT显示多个字段的方法(不使用DISTINCT了)

原文连接: https://www.cnblogs.com/alanliu/archive/2008/02/25/1080626.html --------------------------------- 效果是DISTINCT CUS_NO,并且同时显示CUS_NAME.SELECTCUS_NO,MIN(CUS_NAME) ASCUS1 FROMdbo.CUS GROUPBYCUS_NO

java 注释快捷打出时间_Java快捷---自动注释时间作者。。。

在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的。修改作者、日期注释格式:打开Windows->Preferences->Java->Code Style->Code Templates,点击右边窗口中的Comments,可以看到有很多…

016 pickle

英文也是泡菜的意思。 学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁。 一:介绍 1.为什么使用 在开篇已经介绍了,…

centos7与centos6区别

原文连接:https://www.cnblogs.com/bethal/p/5945026.html ---------------------------------------------------------------- CentOS 7 vs CentOS 6的不同 (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系统[…

用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历

实训要求:1.使用BorderLayout 进行总体布局2.在North 位置放置包含两个按钮( 上月和下月)的Panel3.在South 位置放置一个Label 用于显示当前年份和月份4.在Center 位置放置一个显示日历的Panel5.显示日历的Panel 设置7 行7 列的GridLayout 布局,其中第1行…

ER图转换成关系模式集的规则

转自己博客园文章 A与B1:1 在A表里把B表的主键和关系的属性加入到A表中 或B表里把A表的主键和关系的属性加入到B表中 举例 男人表身份证号姓名年龄女人身份证号登记日期女人表身份证号姓名年龄 A与B1:N 在A表中加入B表的主键与关系的属性 小米公司纳税号公司全称…

Grafana文档(在Centos / Redhat上安装)

在基于RPM的Linux上安装(CentOS,Fedora,OpenSuse,RedHat) 描述下载CentOS / Fedora / OpenSuse / Redhat Linux稳定版本x86-64CentOS / Fedora / OpenSuse / Redhat Linux稳定版本ARM64CentOS / Fedora / OpenSuse / R…

python3数字类型分为_Python初学3——数字类型及操作

一、数1.1 整数类型( 十、二、八、十六进制 )python中整数类型与数学中的整数概念一致,有正有负,取值任意。整数的表示形式:整数类型表示形式举例十进制34,163,210二进制0b1101 或 0B1101八进制0o357 或 0O357十六进制0x45ac 或 0X45ac1.2 浮…

idea 2018.1 创建springboot开启找回Run Dashboard

原文连接&#xff1a;https://www.cnblogs.com/yangtianle/p/8818255.html ---------------------------------------------------------------------------------配置方法首先找到项目中.idea文件下的workspace.xml开打接下来找到<component name"RunDashboard"&…

wepack构建工具

神TMc css重要性 程序猿 感叹

php获取蓝凑云文件列表,php调用蓝奏云下载接口

/*** package Lanzou* author Filmy* version 1.2.1* link https://mlooc.cn*/header(Access-Control-Allow-Origin:*);header(Content-Type:application/json; charsetutf-8);$url isset($_GET[url]) ? $_GET[url] : "";$pwd isset($_GET[pwd]) ? $_GET[pwd] : …

微信支付-服务端-bug排查记录

微信支付服务端需要对微信官方的统一下单接口发送请求获取prepayId作为app端调用支付的凭证&#xff0c;如果返回签名错误&#xff0c;首先排查代码层面的错误。 方法&#xff1a;使用微信官方的签名算法检验。 地址&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/jsapi.…