Spring简介

原文来自搬砖工,如需转载请注明出处


博主SSH框架专栏请戳这里http://blog.youkuaiyun.com/column/details/14227.html

本文将简单介绍Spring框架以及Spring框架的简单使用,对于初学者有一定的指导意义。Spring系列文章会收录到SSH框架专栏当中,希望这些文章对你有所帮助。

一、预备知识

1.轻量级框架

轻量级框架和重量级框架(如:EJB)比较而言的,Spring框架的核心包大约1M左右。
2.容器
容器可以装载对象、实例化对象、配置对象之间的依赖关系。
3.IOC/DI
IOC的全称是Inversion of Control(控制反转),是指程序之间的依赖关系由依赖具体实现,变为依赖抽象接口。
DI的全称是Dependency Injection(依赖注入),是指程序之间的依赖关系由容器动态注入,而非硬编码实现。
4.AOP
AOP的全称是Aspect Oriented Programming(面向方面编程),是指程序中的某个方面独立出来,单独设计。(如:事务、日志、权限等)

二、Spring简介

1.Spring 是一个应用程序级别的轻量级框架,对企业级开发提供了“一站式”的服务。Spring是一个开源框架。
2.IOC容器 在Spring中最核心的思想和实现是IOC容器,Spring中的大部分功能都是基于IOC容器的。
3.AOP实现 除了IOC之外,在Spring中最抢眼的应该就是AOP的实现了,在Spring中提供了三种对AOP编程技术的实现。
4.对持久层的支持 Spring对持久层提供了良好的支持
  a.封装了JDBC的操作
  b.集成了流行的ORM技术框架(hibernate、jdo,ibatis等)
5.对Web层的支持
  a.Spring MVC
  b.对其他MVC框架的集成(Struts、WebWork)
6.对其他框架和技术的集成
  a.RMI和Webservice
  b.EJB
  c.JMS
  d.JavaMail
  e.定时任务和调度

三、Spring框架的基本使用

1.导入Spring框架

在myeclipse中可以直接导入Spring框架(或者叫获得Spring支持),如下图


在安装spring支持的过程中,我们可以自选择我们需要的jar包、spring版本以及beans的配置文件名称。也可以初始化一些bean

2.写一个HelloWorld类来做简单测试

package com.study;

public class HelloWorld {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public String hello(){
		return "hello,"+name;
	}
	
}

3.配置与HelloWorld对应的bean文件

<?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">
	<bean id="hw" class="com.study.HelloWorld">
		<property name="name" value="banzg" />
	</bean>
</beans>
配置文件重点就是id以及class,如果里面有属性的话就需要增加property

4.使用一个测试类测试一下结果

package com.study;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Tester {
	public static void main(String[] args) {
		ApplicationContext context = new FileSystemXmlApplicationContext("/src/beans.xml");
		HelloWorld hw = (HelloWorld) context.getBean("hw");
		System.out.println(hw.hello());
		
	}
}
这里需要注意的是配置文件的路径要正确,绝对路径和相对路径要正确。

测试结果为:hello,banzg

下篇文章将用一些实例来讲述一下Spring框架的特性,以帮助大家更好地了解Spring框架以及使用Spring框架开发的意义。

### Spring框架简介 Spring是一个开源的Java企业级应用开发框架,旨在简化企业应用程序的复杂度并提高其可维护性和灵活性。它通过提供一系列轻量级解决方案,帮助开发者构建高效、稳定的应用程序[^1]。 Spring最初由Rod Johnson在其著作《Expert One-on-One J2EE Development without EJB》中提出,并逐渐发展成为一个广泛使用的框架。它的设计目标是使J2EE开发更加简单和快速,同时减少不必要的样板代码[^1]。 --- ### Spring框架的核心功能 #### 控制反转(IoC) 控制反转是一种设计原则,用于降低代码之间的耦合性。在Spring中,IoC容器负责管理和实例化Bean对象,从而让开发者无需手动创建对象实例。这种机制使得对象的创建和生命周期管理完全交给Spring框架处理,减少了开发者的负担[^4]。 #### 依赖注入(DI) 依赖注入是IoC的具体实现方式之一。通过DI,Spring可以自动将所需的依赖项注入到组件中,而无需显式编写复杂的初始化逻辑。这种方式不仅提高了代码的可读性,还增强了测试能力[^2]。 #### Bean管理 Spring Core模块实现了IoC的功能,能够定义、配置以及管理Bean的整个生命周期。这些Bean可以通过XML文件或者注解的方式进行声明,支持多种属性设置,例如`class`、`id`、`name`、作用域(scope)、初始化方法和销毁方法等[^3]。 #### 面向切面编程(AOP) Spring提供了强大的面向切面编程支持,允许开发者分离横切关注点(如日志记录、事务管理)与业务逻辑。这有助于保持代码清晰且易于扩展。 #### 数据访问/集成 Spring的数据访问层抽象了底层数据库操作细节,支持各种持久化技术(如JDBC、Hibernate、MyBatis等)。此外,它还集成了事务管理功能,确保数据一致性[^3]。 #### Web支持 Spring MVC是Spring框架的一部分,专注于Web应用开发。它采用MVC架构模式,将模型、视图和控制器分离开来,便于开发和维护大型动态网站。 --- ### 示例代码:基于注解的Spring Bean定义 以下是使用注解方式定义一个简单的Spring Bean的例子: ```java import org.springframework.stereotype.Component; @Component public class GreetingService { public String greet() { return "Hello, Spring!"; } } ``` 在这个例子中,`@Component`注解告诉Spring这是一个需要被管理的Bean。当Spring启动时,会自动扫描此类并将其实例化为一个可用的对象。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值