Spring学习一:基本框架图介绍与HelloWorld程序
来源:互联网 发布:程序员媛 编辑:程序博客网 时间:2024/06/13 05:33
本节学习目标
- 了解Spring框架分为5个模块;
- 导入Spring库;
- 会看懂Beans的配置xml文件、知道配置文件中id代表什么,class代表什么;
- 会用ApplicationContext 以依赖注入的方式创建一个Java对象。
概述
Spring作为一种框架,以简化复杂开发,提高开发效率的价值存在。在学习Spring时,首先需要明白Spring的设计架构是什么。所以,这一篇分两部分整理。一部分是Spring框架图的介绍,另一部分是基于IOC注入的一个Demo。
Spring框架图
可以看出Spring整体分为5部分:
- Test
测试模块支持对具有 JUnit 或 TestNG 框架的 Spring 组件的测试。 - 核心容器
1.Beans:提供 BeanFactory,它是一个工厂模式的复杂实现。
2.Core:提供了框架的基本组成部分,包括 IoC 和依赖注入功能。
3.Context:建立在由核心和 Bean 模块提供的坚实基础上,它是访问定义和配置的任何对象的媒介。ApplicationContext 接口是上下文模块的重点。
4.SpEL:在运行时提供了查询和操作一个对象图的强大的表达式语言。 - (Data Access/Integration)(数据访问/集成)
1.JDBC:提供了删除冗余的 JDBC 相关编码的 JDBC 抽象层。
2.ORM:为流行的对象关系映射 API,包括 JPA,JDO,Hibernate 和 iBatis,提供了集成层。
3.OXM:提供了抽象层,它支持对 JAXB,Castor,XMLBeans,JiBX 和 XStream 的对象/XML 映射实现。
4.JMS(Java消息服务):包含生产和消费的信息的功能。
5.Transactions(事务):为实现特殊接口的类及所有的 POJO 支持编程式和声明式事务管理。 - Web
1.Web:提供了基本的面向 web 的集成功能,例如多个文件上传的功能和使用 servlet 监听器和面向 web 应用程序的上下文来初始化 IoC 容器。
2.WebSocket:为 WebSocket-based 提供了支持,而且在 web 应用程序中提供了客户端和服务器端之间通信的两种方式。
3.MVC:包含 Spring 的模型-视图-控制器(MVC),实现了 web 应用程序。
4.Portlet:提供了在 portlet 环境中实现 MVC,并且反映了 Servlet 模块的功能。 - 其他
1.AOP:提供了面向方面的编程实现,允许你定义方法拦截器和切入点对代码进行干净地解耦,它实现了应该分离的功能。
2.Aspects:提供了与 AspectJ 的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架。
3.Instrumentation:在一定的应用服务器中提供了类 instrumentation 的支持和类加载器的实现。
4.Messaging:为 STOMP 提供了支持作为在应用程序中 WebSocket 子协议的使用。它也支持一个注解编程模型,它是为了选路和处理来自 WebSocket 客户端的 STOMP 信息。
运行HelloWorld程序
安装JDK+Eclipse+SpringJar的方法参见极客学院的详细安装教程。
用eclipse创建一个Java Project。项目名称也叫HelloSpring.导入所需要的Jar包。我这里用的是JDK1.8+commons-logging-1.2+spring-framework-4.1.7.RELEASE-dist.zip
- 在自己的包下创建HelloWordl.java和Main.java文件。内容如下:
public class HelloWorld { private String message; public void setMessage(String message) { this.message = message; } public void getMessage() { System.out.println("Your Message : " + message); }}
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main { public static void main(String[] args) { //DI(Ioc)方式,Spring提供对象,需要的时候只需要声明一个引用即可 ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); //此处的helloWorld对应Beans.xml中配置的<bean>标签的id HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.getMessage(); //传统方式,需要对象的时候new一个对象 HelloWorld hw = new HelloWorld(); hw.setMessage("ni hao"); hw.getMessage(); }}
在src目录下创建Beans.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="helloWorld" class="pers.wayss.helloSpring.HelloWorld"> <!-- 基于设值注入的初始化方法 --> <property name="message" value="Hello World!"/> </bean></beans>
- 运行Main类
查看结果为:
Your Message : Hello World!Your Message : ni hao
整个项目的目录结构为
5.这个小练习对应的github地址。
总结
- 了解Spring框架分为5个模块;
- 导入Spring库;
- 会看懂Beans的配置xml文件、知道配置文件中id代表什么,class代表什么;
- 会用ApplicationContext 以依赖注入的方式创建一个Java对象。
注
我的Spring学习内容主要来自与极客学院的Spring教程(文档形式)和MOOC网的视频课程。我的学习笔记,均来自对其的整理。
0 0
- Spring学习一:基本框架图介绍与HelloWorld程序
- Spring框架HelloWorld程序
- Spring框架学习(一)——HelloWorld
- Spring框架学习一----基本配置
- Spring Boot学习笔记:(一)简介与HelloWorld搭建
- Spring框架学习笔记--Spring介绍(一)
- 01 Spring框架 基本介绍
- (一) Spring Boot学习笔记之第一个Spring Boot程序HelloWorld
- Spring框架学习笔记--HelloWorld(二)
- Spring框架学习——HelloWorld
- Spring in action 学习之HelloWorld程序
- Spring MVC 学习笔记(一):HelloWorld
- Spring MVC 3学习笔记+教程(一)开发环境搭建和HelloWorld程序
- Spring MVC 3学习笔记+教程(一)开发环境搭建和HelloWorld程序
- Spring框架介绍(一)
- Spring框架学习(一)
- spring框架学习(一)
- Spring框架学习一
- 安卓·使用intent切换Activity
- Mysql主从复制、读写分离+MyCat数据库中间件
- JS原生方法
- ubuntu-14.04.5上安装搜狗输入法
- Hive学习路线图
- Spring学习一:基本框架图介绍与HelloWorld程序
- jsp的一些基本知识
- 排序
- Spring依赖注入详解
- 大数据分析的5个方面
- SpringMVC工作原理(源码分析)
- 十天小白训练营day04—作业任务
- Java垃圾回收机制(GC)详解
- Markdown简单使用