第一个Spring项目(基础)

Spring简介

首先我们对Spring做一个简单介绍
Spring 是一个轻量级的Java开发框架,它是一种容器框架,用于创建bean,维护bean之间的关系。从而简化应用程序的开发。
简化应用程序开发的体现:

  • AOP 即面向切面编程,比如进行一个计算器的编写,需要实现加、减、乘、除四种简单的运算,编写四种不同的方法。还有另外的两个需求是在每种运算之前和运算之后需要打印日志进行记录,需要进行数字合规的校验。我们就得考虑如何能简单地实现呢?就是得把日志记录和数据校验等可重用的功能模块分离出来,然后在程序的执行的合适的地方动态地植入这些代码并执行。这样就简化了代码的书写,业务逻辑代码中没有参和通用逻辑的代码,业务模块更简洁,只包含核心业务代码。实现了业务逻辑和通用逻辑的代码分离,便于维护和升级,降低了业务逻辑和通用逻辑的耦合。
    有人会想到把这些通用的功能整合到一个方法中,去调用,这样也是避免不了重复调用,并且在业务逻辑中添加额外的代码。Spring通过配置的方式,而且不需要在业务逻辑代码中添加任何额外代码,就可以很好地实现上述功能。通俗点说就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中;比如安全,日记记录,设置token,校验数据,这些都是通用的功能,我们可以把它们提取出来,然后在程序执行的合适地方织入这些代码并执行它们,从而完成需要的功能并复用了这些功能。
  • IOC IOC即控制反转,是一种面向对象编程的思想来削减程序中耦合问题。此模式将耦合代码从程序中移出,放到统一的XML文件中管理。让对象的创建不用再使用New的方式而是由IOC容器通过配置文件来管理对象的生命周期、依赖关系等,这样就不用重新修改并编译具体的代码,从而实现组件之间的解耦。

编写Spring项目代码

  • 下载Spring jar包,下载地址(https://spring.io/),下载完成后可以看到一个压缩包,把它解压。在这里插入图片描述
    解压后进入spring-framework-3.2.0.RELEASE\libs 目录可看到Spring的jar文件。

  • 新建项目
    File --> New --> Java Project
    在项目下新建文件夹lib,把我们Spring依赖的jar包放进去(注意只需要把release.jar后缀的文件放进入即可)
    在这里插入图片描述

  • 将lib文件夹下的jar包全部选中(不要选中lib文件夹),右键选择Buid Path -->Add to Build Path
    在这里插入图片描述
    然后我们会看到刚才Build Path后的jar包全部到Referenced Libraries下,并且 图标有所变化。
    在这里插入图片描述

  • 在src目录下创建包
    com.lhl.spring.entity 存放实体类
    com.lhl.spring.test 存放测试类
    xml文件直接建在src目录下,一般命名为"spring-config.xml",或者"applicationContext.xml"

com.lhl.spring.entity包下创建实体类Person

package com.lhl.spring.entity;

public class Person {
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public Person() {
		super();
	}
	
	public String toString() {
		return "姓名:"+name+",年龄:"+age;
	}
}

在src路径下新建spring-config.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.xsd">
        <bean id="person" class="com.lhl.spring.entity.Person">
        	<property name="name" value="菜鸟也能飞"></property>
        	<property name="age" value="18"></property>
        </bean>
</beans>

com.lhl.spring.test包下创建测试类Test

package com.lhl.spring.test;

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

import com.lhl.spring.entity.Person;

public class SpringTest {
	@Test
	public void test1() {
		ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
		Person person = context.getBean("person", Person.class);
		System.out.println(person.toString());

	}
}

这里用到了@Test 需要引入junit jar包

  • 到这里代码基本写完了,我们运行测试类看下效果
    在这里插入图片描述
    欧耶!成了。

总结

这里我们并没有手动创建Person的实例(对象),是Spring通过ApplicationContext帮我们创建的放在IoC容器里。ApplicationContext是一个IOC容器接口,它所创建的对象都称作是bean,也就是xml文件里的这行配置信息。getBean方法就是从IoC容器里取得这个对象(根据标识id 和类名class),然后我们就可以调用该类的方法。

补充:如果想要配置文件有关于spring的提示,需要下载(sts)Spring tool suite插件
在这里插入图片描述
在这里插入图片描述
下载完成后,在spring的配置文件里Alt+/ 就有提示出来了

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值