什么是Spring?

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

为什么要使用Spring框架

  • Spring是一个开源的免费的框架(容器)
  • Spring是一个轻量的、非侵入式的框架
  • 控制反转(IOC)、面向切面编程(AOP)
  • 支持事务的处理、对框架整合的支持

总结:Spring就是一个轻量级的IOC和AOP框架

Spring的组成(七大模块)


1. Spring Core:

Core封装包是框架的最基础部分,提供IOC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。

2.Spring DAO:

DAO (Data Access Object)提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。 并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用。

3.Spring Context:

构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。

4.Spring AOP:

Spring的 AOP 封装包提供了符合AOP Alliance规范的面向方面的编程实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中。

5.Spring Web:

Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IOC容器初始化和针对Web的ApplicationContext。当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。

6.Spring ORM:

ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。其中包括JPA、JDO、hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。

7.Spring Web MVC:

Spring中的MVC封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和Web Form之间。并且,还可以借助Spring框架的其他特性。

Spring项目搭建(IDEA+Maven)

作者环境:JDK1.8.0、Maven3.6.3
如何安装Maven本地仓库这里就不多说了,很多的Blog都可以去查看。

  1. 创建一个Maven项目
  2. 继上一步next,输入项目的名称和选择项目所在的位置,填好了我们就可以直接finish
  3. 选择IDEA自带的导包
  4. 导入Core Container相应的jar包,查找相应的包可以到MavenRepository
  5. 创建HelloWorld实体类和Spring配置文件(applicationContext.xml)
public class HelloWorld {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}
}

applicationContext.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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置Beanid:bean的唯一标识符,不可重复class:实体类的全类名property :通过setter方法对注入--><bean id="helloworld" class="com.gee.pojo.HelloWorld"><property name="message" value="Hello World"/></bean>
</beans>

测试类

import com.gee.pojo.HelloWorld;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {/**创建AplicationContext容器对象:* ApplicationContext:代表IOC容器* ClassPathXmlApplicationContext:当前应用的xml配置文件在ClassPath下* */ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");//从IOC容器中获取BeanHelloWorld helloWorld = context.getBean("helloworld",HelloWorld.class);System.out.println(helloWorld.getMessage());}
}

运行结果:

在这几个步骤中,没有展示对应的截图,所以在这里放出一下我的项目结构截图(仅供参考)

注:博主也是第一次尝试着写blog,所以可能有很多不好的地方,还望大家谅解,如果有错误的地方希望大佬们能够不吝赐教。

Spring-01-HelloWorld相关推荐

  1. Spring之HelloWorld再起

    2019独角兽企业重金招聘Python工程师标准>>> 第一步:打开File->New->Other-,选择Java Project,创建标准Java项目. 第二步:在项 ...

  2. Spring的HelloWorld

    Spring模块: 使用 Eclipse 开发,要先安装 Spring Tool Suite. 安装过程中,只勾选 Spring IDE 结尾(4个)的即可,并把联网进行更新去掉(否则联网速度会变慢) ...

  3. Spring之HelloWorld

    搭建 Spring 开发环境 把以下 jar 包加入到下: 工程的 classpath Spring 的配置文件: 一个典型的 Spring 项目需要创建一个或多个 Bean 配置文件, 这些配置文件 ...

  4. 普歌-云言团队-Spring Boot入门:环境搭建Spring Boot HelloWorld

    Spring Boot入门:环境搭建Spring Boot HelloWorld 前言:SpringBoot 是来简化Spring应用开发, 约定大于配置, 去繁从简, just run就能创建一个独 ...

  5. SpringMVC(2)—SpringMVC整合Spring的HelloWorld

    一.这是一个SpringMVC框架的案例HelloWorld 功能:HelloWorld 二.SpringMVC运行流程 1.流程 请求-->springDispatcherServlet的ur ...

  6. Spring Boot☞HelloWorld开篇

    目录结构 POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  7. Spring MVC HelloWorld入门及运行机制 (一)

    完整的项目案例: springmvc.zip 介绍 SpringMVC是一款Web MVC框架. 它跟Struts框架类似,是目前主流的Web MVC框架之一. 文章通过实例来介绍SpringMVC的 ...

  8. 使用Maven构建Spring项目“HelloWorld”

    开始学习Spring,因为以前都没用过Maven,所以打算边学习Spring边熟悉Maven.这里自己使用Maven构建一个spring项目demo 1.新建maven项目: 2.构建Spring环境 ...

  9. Spring 01 初识 Spring

    初识 Spring 文章目录 初识 Spring 一.学习任务 二.本章目标 三.Spring框架简介 3.1.Spring框架作用与优点 3.2.Spring框架体系结构介绍 3.3.Spring框 ...

  10. Babylonjs入门01——HelloWorld及babylon获取

    Babylonjs入门01-HelloWorld 1 介绍 2 Babylonjs的HelloWorld 2.1 Playgroud 2.2 在自己的HTML中使用Babylonjs 3 获取Baby ...

最新文章

  1. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf
  2. java开发_数字转换汉语中人民币的大写_完整版
  3. ASP.NET MVC- Upload File的例子
  4. MySQL多表查询实例
  5. 怎么运行verilog语言_(六) Verilog入门之有限状态机
  6. 枚举对象注释_如何以及何时使用枚举和注释
  7. jsp 嵌入java_关于JSP里的Java语句嵌入问题
  8. 作者:司光亚(1967-),男,国防大学信息作战与指挥训练教研部教授,主要研究方向为战争复杂系统建模仿真。...
  9. 一个新的自己从2009年的第一天...
  10. leetcode 137[转]
  11. 根据年、月、周、日设置时间节点的日期工具类
  12. 如何实现阿里云短信接口使用短信业务
  13. 数据挖掘 文本分类(二)搜集中文语料库与ICTCLAS分词
  14. 项目中集成阿里巴巴分布式定时任务
  15. 硬件问题解决方法(大全)
  16. 用Python学《微积分B》(Taylor公式与曲线拟合)
  17. 数据资产管理的5个步骤和6个要素
  18. php获取当前周得周一_php获取本周一的日期实现方法
  19. 陈勇写的换行、换列排放
  20. 主观下线和客观下线的情况

热门文章

  1. 软件测试自动感应灯,基于单片机的智能感应灯设计
  2. 126邮箱软件测试,selenium测试126邮箱新增联系人
  3. Cannot add foreign key constraint 错误解决办法
  4. 任意文件读取与下载漏洞
  5. 在线版和离线版电路仿真以及开源电子硬件设计介绍
  6. python打开其他应用程序错误_Python应用程序错误(Udacity)
  7. 弱水三千,只取一瓢。
  8. Python生成 一维条码
  9. SDUT 1160 某年某月的天数
  10. C语言中runtime错误,runtime error错误解决方案 打开软件出现runtime error