Spring框架实例
一,介绍
Spring框架核心是Ioc控制反转,只要在容器中注册以后,依赖从容器中获取即可
简单的理解:需要一个值,在程序中定义一个变量,但是不赋值,只设置set方法,运行时,容器为该变量赋值
二,实例
1.导入框架依赖包,
web.xml里会注册spring监听
applicationContext.xml会自动生成
3.编写实体类
package com.zhaolong.bean;
import java.util.List;
public class Demo1 {
private List<String> list;
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
}
4.注册并注入需要的值 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
default-autowire="byName"> <!-- List通过list标签注入值 -->
<bean class="com.zhaolong.bean.Demo1" id="demo1">
<property name="list">
<list>
<value>张三</value>
<value>李四</value>
<value>王五</value>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</list>
</property>
</bean> <!-- Set通过set标签注入值 -->
<bean class="com.zhaolong.bean.Demo2" id="demo2">
<property name="set">
<set>
<value>张三</value>
<value>李四</value>
<value>王五</value>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</set>
</property>
</bean> <!-- Map通过 map标签注入 -->
<bean class="com.zhaolong.bean.Demo3" id="demo3">
<property name="map">
<map>
<entry key="uname">
<value>张三</value>
</entry>
<entry key="upass">
<value>123456</value>
</entry>
</map>
</property>
</bean> <!-- 给map注入object --> <bean class="com.zhaolong.bean.Demo3" id="demo32">
<property name="map">
<map>
<entry key="demo1" value-ref="demo1"/>
<entry key="demo2" value-ref="demo2"/>
</map>
</property>
</bean> <!-- 配置3个学生 -->
<bean class="com.zhaolong.bean.Student" id="student1">
<property name="sname">
<value>诸葛亮</value>
</property>
</bean>
<bean class="com.zhaolong.bean.Student" id="student2">
<property name="sname">
<value>周瑜</value>
</property>
</bean>
<bean class="com.zhaolong.bean.Student" id="student3">
<property name="sname">
<value>荀彧</value>
</property>
</bean> </beans>
5.编写测试,从xml里提取bean
package com.zhaolong.test; import java.util.List; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.zhaolong.bean.Demo1; public class Demo1Test { public static void main(String[] args) { //通过数组的方式指定配置文件
ApplicationContext ctx=
new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"}); Demo1 demo1 = (Demo1) ctx.getBean("demo1"); List<String> list = demo1.getList(); for (String str : list) {
System.out.println(str);
} }
}
Spring框架实例的更多相关文章
- 最新 Eclipse IDE下的Spring框架配置及简单实例
前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...
- Spring 框架系列之 JDBC 整合实例
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.Spring框架整合 DAO 模板 JDBC:org.springframework.jdb ...
- Eclipse IDE下的Spring框架使用简单实例
Eclipse IDE下的Spring框架使用简单实例 1 准备Java jdk安装. Eclipse软件安装.根据系统安装32/64版本,选择Eclipse IDE for Java Develop ...
- [读后感]spring Mvc 教程框架实例以及系统演示下载
[读后感]spring Mvc 教程框架实例以及系统演示下载 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&qu ...
- Spring MVC框架实例
Spring MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,能够选择是使用内置的 Spring Web 框架还是 ...
- 使用spring框架的JdbcTemplate实现对Oracle数据库的简单操作实例
最近实现了一个小功能,针对Oracle数据库两张关联表进行查询和修改,因为比较简单,所以选择了spring框架里的JdbcTemplate.JdbcTemplate算是老古董了,是当年spring为了 ...
- 初识Spring框架实现IOC和DI(依赖注入)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...
- spring框架学习(三)
一.Spring自动组件扫描 Spring 提供组件扫描(component scanning)功能.它能从指定的classpath里自动扫描.侦测和实例化具有特定注解的组件. 基本的注解是@Comp ...
- Spring框架学习(一)
一. spring概述 Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式,如图 1 所示. 图 1 ...
随机推荐
- LANMP常用配置.md
httpd 配置 MPM prefork StartServers # 服务器启动时建立的子进程数量. MinSpareServers # 空闲子进程的最小数量:如果当前空闲子进程数少于MinSpar ...
- iOS动画暂停和继续-本质是速度控制和时间坐标转换
时间永不停止! 写一个CALayer的分类,控制动画的暂停与继续 extension CALayer { ///暂停动画 func pauseAnimation() { //取出当前时间,转成动画暂停 ...
- gluoncv训练faster rcnn的一点小问题
gt数目超过上限. https://github.com/dmlc/gluon-cv/pull/335/files
- python3通过qq邮箱发送邮件
python3通过qq邮箱发送邮件 0.了解qq邮箱的SMTP QQ邮箱 POP3 和 SMTP 服务器地址设置如下: 邮箱 POP3服务器(端口995) SMTP服务器(端口465或587) qq. ...
- Ajax请求与浏览器缓存
在现代Web应用程序中,前端代码充斥着大量的Ajax请求,如果对于Ajax请求可以使用浏览器缓存,那么可以显著地减少网络请求,提高程序响应速度. 1. Ajax Request 使用jQuery框架可 ...
- virtualbox+vagrant学习-4-Vagrantfile-8-WinSSH
WinSSH WinSSH通信器是专门为OpenSSH的Windows本机端口构建的.它不依赖于类posix的环境,这种环境消除了额外的软件安装(如cygwin)以获得适当功能的需求. 想获得更多的信 ...
- IO流操作详解
注:FileReader继承InputStreamReader类,InputStreamReader实现Reader接口,其他同理. 对于文件内容的操作主要分为两大类 分别是: 字符流 字节流 其中, ...
- HDU 2544最短路 (迪杰斯特拉算法)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others) Me ...
- MFC文档应用程序CToolBar:设置两个工具条并列停靠到同一条边上 转
转自:http://blog.csdn.net/panshiqu/article/details/9369891# 将多个工具条同时并列停靠在某窗口的某一条边上.对于这种停靠方法,利用上述工具条控制函 ...
- SSM项目引入文件失败
<mvc:resources mapping="/styles/**" location="/css/"/> <mvc:resources m ...