用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文件里.在调用者需要调用某个类时,不自行构造该类的对象, ...
随机推荐
- Centos7.2正常启动关闭CDH5.16.1
1.正常的启动.关闭流程 关闭流程 cluster1 stop Cloudera Management Service stop 4台agent:systemctl stop cloudera ...
- 内网环境上部署k8s+docker集群:集群ftp的yum源配置
接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从ht ...
- Pytorch--Dropout笔记
dropout常常用于抑制过拟合,pytorch也提供了很方便的函数.但是经常不知道dropout的参数p是什么意思.在TensorFlow中p叫做keep_prob,就一直以为pytorch中的p应 ...
- 024_mac配置屏保命令
注意吃饭等离开工位的时候养成随时开启屏保的功能,养成信息保护的好习惯,mac如何配置屏幕保护呢? 一. 通过mac"设置"里的"Desktop & Screen ...
- hibernate-第二章-关系映射
一,持久化类 持久化类就是之前写过的实体类 持久化类必须符合javabean规范,属性必须有set和get方法; 持久化类的属性类型可以是8种基本类型或对应的包装类,通常定义包装类型,因为包装类型可以 ...
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...
- Joone
JOONE 一.什么是JOONE? 1.Joone是一个免费的神经网络框架来创建,训练和测试人造神经网络.目标是为最热门的Java技术创造一个强大的环境,为热情和专业的用户.2.Joone由一个中央引 ...
- ***远程连接MYSQL提示1130 - Host is not allowed to connect to this MySQL server
如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL serve ...
- 字符串正则匹配(递归/DP)
Wildcard-Matching & Regular Expression Matching Wildcard-Matching中?匹配任意一个字符,*匹配任意长度字符串包括空字符串 方法 ...
- open suse 42.3常用软件源(包括阿里云)
阿里镜像源,直接在终端安装,首先在终端输入 su 点击回车,输入密码,密码输入时为了安全是不显示的,你输入以后直接回车就可以了. zypper addrepo -f http://mirrors.al ...