Spring框架的IOC核心功能快速入门
2. 步骤一:下载Spring框架的开发包
* 官网:http://spring.io/
* 下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring解压:(Spring目录结构:)
* docs -- API和开发规范
* libs -- jar包和源码
* schema -- 约束
* dist -- 总包(包含docs、libs、schema)
* dependencies -- spring的依赖包
3. 步骤二:创建JavaWEB项目,引入Spring的开发包
* 引入Spring框架IOC核心功能需要的具体的jar包
* Spring框架的IOC的功能,那么根据Spring框架的体系结构图能看到,只需要引入如下的jar包
* Beans
* Core
* Context
* Expression Language
(在下载的spring开发总包中-->libs-->复制beans、context、core、expression四个包-->粘贴到创建的web工程的lib中)
* Spring框架也需要引入日志相关的jar包(日志用于在控制台输出日志)
* 在spring-framework-3.0.2.RELEASE-dependencies/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1
* com.springsource.org.apache.commons.logging-1.1.1.jar * 还需要引入log4j的jar包 spring-framework-3.0.2.RELEASE-dependencies\org.apache.log4j\com.springsource.org.apache.log4j\1.2.15
* com.springsource.org.apache.log4j-1.2.15.jar
还需要引入log4j.properties配置文件,将其复制到src目录下。4. 步骤三:创建对应的包结构,编写Java的类,要注意:以后使用Spring框架做开发,都需要来编写接口与实现类!!
* com.huida.demo1
* UserService -- 接口
public interface UserService {
public void sayHello();
}
* UserServiceImpl -- 具体的实现类
public class UserServiceImpl implements UserService{
@Override
public void sayHello() {
System.out.println("sayHello!");
}
}
我们原来调用sayHello方法的方式是,创建UserServiceImpl对象,然后再调用sayHello方法。现在我们想要使用框架来不创建对象就可以调用方法,实现方法如下:
5. 步骤四:想把UserServiceImpl实现类的创建交给Spring框架来管理,需要创建Spring框架的配置文件,完成配置
* 在src目录下创建applicationContext.xml的配置文件,名称是可以任意的,但是一般都会使用默认名称!!
* 引入spring的约束,需要先找到具体的约束头信息!!
* spring-framework-3.2.0.RELEASE\docs\spring-framework-reference\html\xsd-config.html,在网页中找到第一个包含beans标签的大标签(大标签就是开头为<?xml version="1.0" encoding="UTF-8"?>),然后将下面的内容复制到我们的配置文件中。
* 具体的约束如下:
<beans xmlns="http://www.springframework.org/schema/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">
</beans>
* 完成UserService的配置
<!-- Spring的快速入门 -->
<bean id="userService" class="com.huida.demo1.UserServiceImpl"/>id是唯一的,class中放全路径
6. 步骤五:编写测试程序,采用Spring框架的工厂方式来获取到UserService接口的具体实现类!!
public void demo2(){
// 使用Spring的工厂:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//在xml加载的时候对象就已经创建了。
// 通过工厂获得类:
//UserServiceImpl usi = (UserServiceImpl) applicationContext.getBean("userService");
//也可以使用接口实现
UserService usi=(UserService)applicationContext.getBean("userService");
usi.sayHello();
}
使用接口实现更加灵活,因为一个接口可以对应好几个实现类,我们在调用他们的方法时,只需要在配置文件中配置一下,然后更改一下他的id即可,而不需要再对每一个类实例化一个对象。
Spring框架的IOC核心功能快速入门的更多相关文章
- Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么?
quote:Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么? (IT公司面试手册,可以多看看) spring 框架中核心组件有三个:Core.Context 和 Beans. ...
- Spring框架之IOC(控制反转)
[TOC] 第一章Spring框架简介 IOC(控制反转)和AOP(面向方面编程)作为Spring框架的两个核心,很好地实现了解耦合.所以,简单来说,Spring是一个轻量级的控制反转(IoC)和面向 ...
- Spring框架中IoC(控制反转)的原理(转)
原文链接:Spring框架中IoC(控制反转)的原理 一.IoC的基础知识以及原理: 1.IoC理论的背景:在采用面向对象方法设计的软件系统中,底层实现都是由N个对象组成的,所有的对象通过彼此的合作, ...
- (精简)Spring框架的IoC(替代工厂类实现方法)和AOP(定义规则,约定大于配置)
Spring的核心框架主要包含两个技术,分别用来处理工厂类,以及事务处理和连接管理的. 两大核心概念 1) IoC:控制反转,在现在的开发中,如果想建立对象并设置属性,是需要先new对象,再通过se ...
- Spring框架(3)---IOC装配Bean(注解方式)
IOC装配Bean(注解方式) 上面一遍文章讲了通过xml来装配Bean,那么这篇来讲注解方式来讲装配Bean对象 注解方式需要在原先的基础上重新配置环境: (1)Component标签举例 1:导入 ...
- Spring框架的IOC之注解方式的快速入门
1. 步骤一:导入注解开发所有需要的jar包 * 引入IOC容器必须的6个jar包 * 多引入一个:Spring框架的AOP的jar包,spring-aop的jar包 2. 步骤二:创建对应的包结构, ...
- PDF.NET SOD 开源框架红包派送活动 && 新手快速入门指引
一.框架的由来 快速入门 有关框架的更多信息,请看框架官方主页! 本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.N ...
- Spring框架及IOC容器
Spring是一个非常活跃的开源框架, 它是一个基于IOC和AOP来构架多层JavaEE系统的框架,它的主要目地是简化企业开发.Spring以一种非侵入式的方式来管理你的代码, Spring提倡”最少 ...
- Spring框架之IoC和AOP
Spring框架简介: 2003年2月,Spring框架正式成为一个开源项目,并发布于SourceForge中.致力于Java EE应用的各种解决方案,而并不是仅仅专注于某一层的方案,是企业应用开发的 ...
随机推荐
- Memcached缓存框架
开发基于BS模式的程序,都有报表模块,那么如何开发报表模块. 1.定时发布报表数据到指定的临时表(可能是定时任务) 2.用户通过HTTP请求后台,访问临时表,查询报表数据 3.增加memcached缓 ...
- python并发编程之多进程理论部分
原文连接:http://www.cnblogs.com/linhaifeng/articles/7430066.html#_label4 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责 ...
- 大话java性能优化 pdf 下载(全本)
扫加公众号,回复”大话java性能优化",免费获取此书.
- 了解ES6
内容: 1.ES6介绍及基础 2.模块.类和继承 3.ES6高级特性 4.Generator和Iterator 5.异步编程 6.函数相关 内容参考:<ES6 标准入门> ES6标准阅读链 ...
- Python Flask 多环境配置
Python里取配置文件的时候,之前是使用的ini文件和python里configparser 模块: 可参考:https://www.cnblogs.com/feeland/p/4514771.ht ...
- 知乎日报 API的图片盗链问题
由最近 基于vue的知乎日报单页应用 引发的问题 以及问题解决历程 通过 知乎日报API 基于vue做一个知乎日报的单页应用,在获取图片时存在一个图片盗链问题,图片无法加载 提示 403 错误, 最终 ...
- ngnix配置thinkphp5隐藏index.php的方法亲测有效
在需要访问的域名的conf文件中,比如 vim /etc/nginx/.com.conf location / { // …..省略部分代码 if (!-e $request_filename) { ...
- 1.scrapyd部署相关问题
部署scrapy爬虫项目到6800上 启动scrapyd 出现问题 1: scrapyd-deloy -l 未找到相关命令 scrapyd-deploy -l 可以看到当前部署的爬虫项目,但是当我输 ...
- VMware vCenter Server 6.5.0 U1g
VMware vCenter Server 6.5.0 U1gName: VMware-VCSA-all-6.5.0-8024368.iso Release Date: 2018-03-20 Buil ...
- elk6.22
启动错误: 参考网站:https://blog.csdn.net/feinifi/article/details/73633235?utm_source=itdadao&utm_medium= ...