用idea 创建一个spring小demo,基于xml文件配置
1、首先,File->new->project ,进入新增项目页面

或者在

2、勾选spring,然后点击下一步

3、修改项目名称和项目位置

进入页面后

5、创建一个spring配置文件


6、创建Person类

7、配置bean, <bean></bean>,name对应属性,value赋值

8、测试类,配置文件名和id不能错。

补充:
1、还有一种用构造器来配置的用法,这里会默认与实体类person中的构造方法一致,另外要注意使用构造器配置,实体类中需要有构造方法,否则配置文件报错

如果实体类中含有混淆的构造方法,这里需要再添加属性type。

2、关于bean之间的引用,新建一个House类,例如Person类引用了House类,Person类每次新增属性,都需要重写一次toString()方法和相应的getter和setter方法。



这时候配置有两种方式:
1建两个bean

2.在bean的内部建一个bean

关于value的赋值还可以这样写

如果String类型的值需要一些特殊符号如:<,这样就会报错,这时候需要< ! [CDATA[ 值 ] ]来进行处理


3、在配置文件里,配置list,set,array,map等,例如一个人有很多车,先建一个Car类,生成setter,getter,toString()方法,在Person类中引用。


然后配置文件里先写连个关于car的bean,再通过<list></list>进行引用,如果属性是Array或set型,换成相应的标签即可。

还有一种map类型的配置,同理还是一个人有很多车,创建属性,生成setter和getter方法,重写toString()方法

配置文件:这里使用entry标签,key对应着Map<Integer, Car>这里的类型,value_ref可以引用bean类


4、配置单例的集合,也就是公用的bean,这里首先需要引入命名空间,输入<util:list 然后 alt+enter,将命名空间导入进来,也就是这个xsi会导入后面util这两个,这时候就可以在bean中引用了,要想换成set\map型,换成相应的类型即可。
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

5、关于bean的作用域,有两种singleton(单例)和prototype(原型,也称为多例)
singleton:默认值,在容器初始化时生成bean实例
prototype:原型,容器初始化时不生成bean实例,在获取bea时生成
写一个无参构造方法验证一下:

配置文件:

输出结果:说明值创建了一个对象

把获取bean给注释掉,再输出结果,可以看到bean是在容器初始化时创建

再来看看prototype,
配置文件:scope属性,可以选择单例和原型

输出结果:

用idea 创建一个spring小demo,基于xml文件配置的更多相关文章
- Spring框架入门之基于xml文件配置bean详解
关于Spring中基于xml文件配置bean的详细总结(spring 4.1.0) 一.Spring中的依赖注入方式介绍 依赖注入有三种方式 属性注入 构造方法注入 工厂方法注入(很少使用,不推荐,本 ...
- idea的spring整合基于xml文件配置的mybatis报Invalid bound statement (not found): com.music.dao.MusicDao.findAll的问题
一. 题主当时就是自己尝试整合spring和mybatis的时候遇到了这个问题,当时题主只看到了用注解的方式配置的dao层,题主用的是xml文件配置的形式, 而且坑爹的是题主的两个文件的路径写的也不一 ...
- Spring整合Hibernate的XML文件配置,以及web.xml文件配置
利用Spring整合Hibernate时的XML文件配置 applicationContext.xml <?xml version="1.0" encoding=" ...
- Spring学习记录(十三)---基于xml文件配置AOP
上一篇讲了用注解配置AOP,现在讲用xml怎么配置AOP 其实逻辑是一样的,只是用xml的方法,要把这种逻辑写出来,告诉spring框架去执行. 例子:这里的例子和上一篇的例子一样.换成xml方式 / ...
- 每天一个JS 小demo之新建文件夹。主要知识点:DOM方法的综合运用
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
- dom4j 创建一个带命名空间的pom.xml 文件
http://xml.apache.org/xalan-j/index.html 需要的jar包 <dependencies> <dependency> <groupId ...
- Mybatis 简单的CRUD 基于XML文件配置
全部的ORM框架学习曲线都是先来一个CRUD爽一爽,以下我们就来CRUD一下,全部的配置都是基于上一篇的配置.废话不多说,直接上代码. <?xml version="1.0" ...
- Spring中利用applicationContext.xml文件实例化对象和调用方法
Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...
- 【Java】 Spring依赖注入小试牛刀:编写第一个Spring ApplicationContext Demo
0 Spring的依赖注入大致是这样工作的: 将对象如何构造(ID是什么?是什么类型?给属性设置什么值?给构造函数传入什么值?)写入外部XML文件里.在调用者需要调用某个类时,不自行构造该类的对象, ...
随机推荐
- Visual Studio Code(VS code)你们都在用吗?或许你们需要看一下这篇博文
写在前面 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code. 都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德 ...
- JVM调优的几种策略
一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从J ...
- python zip dict函数
1.zip函数 zip函数可以接受多个参数,返回的结果是列表,列表中的每一个元素是元组的数据类型,下面我们通过几个例子来学习zip函数的用法 1) list1 = [1,2,3] list2 = [4 ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp2 后门原理与实践
实验二 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter(或其 ...
- Week_10 C
拓扑排序 Week_10 C 题意:输入n行数据a,b ,表示a的钱数大于b的钱数,最低的人分的的钱数为888,问最少需要多少钱可以分给员工 思路:标准的拓扑排序,不过这题需要逆向拓扑 注意点 ...
- VMware虚拟机配置内网电脑能访问
关键字:内网访问虚拟机.内网访问Linux虚拟机.虚拟机访问外部网络 1.vmware虚拟机网络设置为桥接模式 2.虚拟机配置iP地址,以linux系统为示例. 勾选自动连接,选择手动配置ip,然后配 ...
- SQLAlchemy+Flask-RESTful使用(一)
前言 开新坑啦.最近打算自己开一个资源聚合网站.就用Flask. 当然也使用了 Flask-RESTful和SQLAlchemy啦 写的过程中遇到过很多坑/觉得比较有意义的就写在这里. 变更记录 # ...
- python正则表达式--分组、后向引用、前(后)向断言
无名.有名分组 (1)正则表达式—无名分组 从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推. 需要注意的是,有一个隐含的全局分组(就是索引号为 ...
- MUI之App开发
一般开发APP分为两种:1.原生ios和android语言开发.2.混合开发,里边穿插h5的东西. 3.第三种:现在因为前端用hbuilder工具开发的情况越来越多,这家公司又提供了更多的选择,所以近 ...
- shell 变量、参数、数组章节笔记
// 变量名和等号之间不能有空格 hello="123456"; echo $hello; // 花括号只是帮助识别变量边界 echo ${hello}; // unset 删除变 ...