Spring IoC入门
------------------siwuxie095
Spring IoC 环境搭建
1、先下载相关库文件,下载链接:
(1)http://projects.spring.io/spring-framework/
(2)http://repo.spring.io/release/org/springframework/spring/
注意:下载以
-dist.zip 结尾的文件,这里选择下载
Spring 4.3 版本
将 spring-framework-4.3.7.RELEASE-dist.zip
解压一览:

2、导入
Spring 的 jar 包:由于做的是 Spring 最基本的功能,
所以只需要导入 4 个核心
jar 包即可

(1)spring-beans
(2)spring-core
(3)spring-context
(4)spring-expression
3、在使用 Spring 时,有日志信息输出,而 Spring 本身
并没有日志输出的包,所以还要导入其它日志相关的包,
如下:
(1)commons-logging
(2)log4j
Commons Logging
下载链接:
http://commons.apache.org/proper/commons-logging/download_logging.cgi
LOG4J 下载链接:
https://www.apache.org/dist/logging/log4j/
4、综上,共需 6 个
jar 包

创建一个普通的
POJO 类
包名:com.siwuxie095.ioc
类名:User.java
User.java:
|
package com.siwuxie095.ioc; public class User {
public System.out.println("----- add -----"); } } |
创建
Spring 核心配置文件
在
Spring 的核心配置文件中,进行 Bean 的配置
1、创建
XML 格式的配置文件
核心配置文件的名称和位置没有固定要求
(1)位置:建议在
src 下
(2)名称:建议为
applicationContext.xml
2、在配置文件中引入 XML 约束
spring-beans-4.3.xsd
「XML约束有 DTD 和 Schema 两种,在
Spring 的配置文件
中引入的是 Schema 约束(目前),注意:要引入和
Spring
版本对应的约束」
该文件在
schema\beans
文件夹下:

在
applicationContext.xml 中添加如下约束:
|
<?xml <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> |
可以在
docs\spring-framework-reference\html
文件夹下找到
xsd-configuration.html,其中就有对应的约束
3、配置
Bean
applicationContext.xml:
|
<?xml <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- http://www.springframework.org/schema/beans/spring-beans.xsd
该 Schema 文件是用于提示的文件,联网即有提示信息,也可 手动添加:Window->Preferences->XML->XML Catalog, 点击 Add 添加即可,Location 即路径,Key 即上面的链接, Key type 即 Schema Location --> <!-- Spring IoC 容器:配置和管理 Bean --> <bean </beans> |
测试:使用
Spring IoC 容器创建对象
包名:com.siwuxie095.ioc
类名:TestIoc.java
TestIoc.java:
|
package com.siwuxie095.ioc; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestIoc { /** * 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 的 jar 包) * * 选中方法名,右键->Run As->JUint Test */ @Test public
// (1) 加载 Spring 的核心配置文件 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
// (2) 得到核心配置文件中创建的对象(获取 Bean 实例) User user=(User) context.getBean("user");
user.add(); } } |
【made by siwuxie095】
Spring IoC入门的更多相关文章
- Spring IoC反转控制的快速入门
* 下载Spring最新开发包 * 复制Spring开发jar包到工程 * 理解IoC反转控制和DI依赖注入 * 编写Spring核心配置文件 * 在程序中读取Spring配置文件,通过Spring框 ...
- Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)
Spring概念 spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用) spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码来实现: ioc:控制反转,比如:有一个 ...
- Spring IOC - 控制反转(依赖注入) - 入门案例 - 获取对象的方式 - 别名标签
1. IOC - 控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交 由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周 ...
- Spring入门1. IoC入门实例
Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...
- 【Spring】---【IOC入门案例】
第一步:导入Jar包 第二步:创建类,在类里面创建方法 public class User { public void add(){ System.out.println("-------- ...
- 二 Spring的IOC入门,环境搭建,Spring测试类
IOC:inversion of Control 控制反转,Spring框架的核心.削减计算机程序的耦合问题,把对象(例如JDBC)的创建权交给Spring. IOC的两种类型: 依赖注入: 依赖查 ...
- Spring MVC -- Spring框架入门(IoC和DI)
Spring MVC是Spring框架中用于Web应用开发的一个模块.Spring MVC的MVC是Model-View-Controller的缩写.它是一个广泛应用于图像化用户交互开发中的设计模式, ...
- Spring入门篇——第2章 Spring IOC容器
第2章 Spring IOC容器 介绍Spring IOC容器的基本概念和应用 2-1 IOC及Bean容器 自己的理解:什么是IOC?就是利用配置文件(外部容器)来创建对象. 在IOC容器中,所有对 ...
- Spring(1) --入门(IoC,AOP)
说说你对spring的理解? Spring框架是一个轻量级的企业级开发的一站式解决方案,所谓一站式解决方案就是可以基于Spring解决Java EE开发的所有问题.Spring框架主要提供了IoC容器 ...
随机推荐
- C++11_ 右值引用
版权声明:本文为博主原创文章,未经博主允许不得转载. 由于右值所产生的临时变量问题一直是一种诟病,C++11中引入了右值引用这个核心语言机制,来提升运行期性能. 首先我先说明一下什么是左值和右值: 左 ...
- New Concept English Two 13 31
$课文29 出租汽车 294. Captain Ben Fawcett has bought an unusual taxi and has begun a new service. 本.弗西特机长买 ...
- 理解HTTP之Content-Type
http://homeway.me/2015/07/19/understand-http-about-content-type/
- MySQL 主从复制与读写分离
1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的33 ...
- 20155211 2016-2017-2 《Java程序设计》第八周学习总结
20155211 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 第十四章 NIO与NIO2 NIO使用频道(channel)来衔接数据节点,对数据区的标记提 ...
- ballerina 学习二十四 监控ballerina
ballerina 服务的监控还是比较方便的,以及集成了Prometheus Grafana Jaeger Elastic Stack 监控服务监控的集成 主要包含以下几个步骤 a. 安装docker ...
- macOS -- 如何通过终端开启/关闭SSH
在macOS中(较新版),基本都会配置了SSH,能完成我们开发中绝大部分功能,所以不需要再去使用第三方的软件去操作. 不过SSH守护进程是默认禁用的,我们需要手动开启 1. 查看是否开始SSH功能 s ...
- Django的认证系统 auth模块
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
- python 常见问题总结
1.ModuleNotFoundError: No module named 'urllib2' 在python3.x版本中,urllib和urllib2包集合成在一个包了import urllib2 ...
- winform 勾选可以改变框控件
public partial class UCCheck : UserControl { [Browsable(true), Category("修改属性"), Descripti ...