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容器 ...
随机推荐
- 各开源 bbs 程序比较
主要是集中在 php 开源轻巧的程序. 搜索到一个逼乎的一个帖子:https://www.zhihu.com/question/20655704 ,顺藤摸瓜 下. carbon forum 第一个测试 ...
- linux命令-定时任务at
本文主要讲解一次性计划任务的命令at的用法! 1.相关操作命令及功能介绍: 在指定的时间执行一个任务,只能执行一次进程名为atd,首先需要确认该进程是否启动,并且配置开机自启动 ps -ef | gr ...
- CentOS6下源码安装mysql-5.6.25
1.1.系统环境检查 1)检查系统版本 mkdir -p /server/tools/ cd /server/tools/ cat /etc/redhat-release 2)配置域名解析 vim / ...
- 【idea】如何安装jetty容器,并使用。
参考:https://www.jetbrains.com/idea/help/run-debug-configuration-jetty-server.html背景:web开发当中,我觉得服务层的代码 ...
- Mac OS下面安装mysql以及mysql常用命令
使用brew安装mysql brew install mysql 安装成功后使用下面命令启动/关闭服务 brew services start mysql brew services stop mys ...
- C#对Jason序列化匿名对象
引用: using System.Web.Script.Serialization; 代码: var resp = new { flag = false, url = ConfigReader.Log ...
- python学习(二)—简明python教程
2016-04-14 20:55:16 八.模块 简介 前面介绍了如何在程序中定义一次函数而重用代码.在其他程序中重用很多函数,就需要使用模块.模块基本上就是一个包含了所有你定义的函数和变量的文件.模 ...
- 华为交换机STP 根ID优先级设置
http://m.blog.csdn.net/flyfish5/article/details/50224537 STP(Spanning Tree Protocol)生成树协议. 冗余链路 当前的交 ...
- Spring AOP 实现读写分离
原文地址:Spring AOP 实现读写分离 博客地址:http://www.extlight.com 一.前言 上一篇<MySQL 实现主从复制> 文章中介绍了 MySQL 主从复制的搭 ...
- 【白银组】codevs_1011 数的计算
简单而言,就是递归的运用,注意使用全局变量统计cnt,并且注意递归的结束,中间生成的值无需进行输出. http://codevs.cn/problem/1011/ #include<iostre ...