Spring框架系列_创建HelloWorld项目_纯净版(一)

Spring框架简介

诞生背景:Spring还未诞生之时,Java企业开发一直采用Sun 公司的EJB(Enterprise Java Bean)框架,但EJB本身过于庞大,又有着非常多的开发规范,开发起来十分麻烦,更为人诟病的是很多时候大材小用,一个小型web程序根本用不着EJB的繁杂功能。

Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建。主要对JavaBean的生命周期进行管理的轻量级框架,Spring给JavaEE带来了春天。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择的框架,并贯穿表现层、业务层及持久层。并且Spring可以与其他框架无缝地整合。

Spring是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的JavaBean容器框架。

Spring框架特点

  1. 轻量级:不仅仅他的文件大小很小,而且Spring是非侵入性。
  2. 依赖注入:IOC(DI)和面向切面编程:AOP
  3. 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
  4. 框架:Spring实现了使用简单的组件配置组合成一个复杂的应用。
  5. 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库

  知识点:轻量级框架和重量级框架的区别
      轻量级和重量级的框架是以启动程序所需要的加载资源所决定,比如EJB在启动程序的时候需要消耗大量的资源,
                   内存和  CPU,所以是重量级。

Spring架构体系

创建一个最简单Sring的HelloWorld项目

不用maven创建。也不用web.xml文件来初始化加载spring容器,完全原始撸代码

创建helloworld的最小基本单元需要使用sping的Core Container模块即可,再少就无法运行spring了,

所以需要引入的Jar为:

由于Spring 默认使用commons-logging日志框架(spring-core.jar依赖它)也需要导入commons-logging.jar

下面开始搭建最小Spring项目:

演示项目目录结构:

创建一个HelloWorld.java:

package com.dk.dev.demo;

public class HelloWorld {
	private String name;

	public void setName(String name) {
		System.out.println("调用了设置属性");
		this.name = name;
	}

	public HelloWorld() {
		System.out.println("初始化构造器");
	}

	public void hello() {
		System.out.println("Hello: " + name);
	}
}

创建一个Spring的配置文件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" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">

	<bean id="helloworld" class="com.dk.dev.demo.HelloWorld">
		<property name="name" value="Spring"></property>
	</bean>
</beans>

创建一个Main.java(主函数启动入口)

package com.dk.dev.demo;

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

public class Main {

	public static void main(String[] args) {
		// 1、创建Spring的IOC容器的对象
		ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:config/applicationContext.xml");
		// 2、从IOC的容器中获取Bean的实例
		HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloworld");
		// 3、调用hello方法
		helloWorld.hello();
	}
}

 

执行main方法启动Spring容器后,控制台输出:

我们把获取Bean的实例和调用hello方法的都注释掉(即把2和3的全注释掉),那么结果应该是什么? 

说明了在创建SpringIOC容器的时候,就已经对类进行了实例化并对属性进行了赋值,

一个最简单版的spring项目演示就完成了! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值