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 ...
随机推荐
- 原生js模仿jq fadeIn fadeOut效果 兼容IE低版本
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Centos7 之目录处理命令(八)
linux中 关于目录 有几个重要概念 一个是 / 根目录 还有一个当前用户的家目录 比如 root用户的家目录是 /root 普通用户的家目录是/home/xxx 下 root登录 默认家目录 ...
- php-fpm配置参数.md
Global Options pid string PID文件的位置.默认为空.默认路径放在/usr/local/php-fpm/var. error_log string 错误日志的位置.默认:安装 ...
- BZOJ1880:[SDOI2009]Elaxia的路线(最短路,拓扑排序)
Description 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间.Elaxia和w**每天都要奔波于宿舍和实验室之间, ...
- Kali-linux使用NVIDIA计算机统一设备架构(CUDA)
CUDA(Compute Unified Device Architecture)是一种由NVIDIA推出的通用并行计算架构,该架构使用GPU能够解决复杂的计算问题.它包含了CUDA指令集架构(ISA ...
- SpringBoot实战(二)之计划任务
计划任务这个对于Java开发者们,应该不陌生了,非常常用又非常常见.比如jdk自带的Timer 实现例子如下: class MyTask extends TimerTask{ @Override pu ...
- Activation Functions
Sigmoid Sigmoids saturate and kill gradients. Sigmoid outputs are not zero-centered. Exponential fun ...
- javascript中获取dom元素高度和宽度
javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...
- Strategy(策略)模式
1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查找.排序等,一种常用的方法是硬编码(Hard Cod ...
- ZooKeeper系列(2)--基于ZooKeeper实现简单的配置中心
ZooKeeper节点的类型分为以下几类: 1. 持久节点:节点创建后就一直存在,直到有删除操作来主动删除该节点 2. 临时节点:临时节点的生命周期和创建该节点的客户端会话绑定,即如果客户端会话失效 ...