spring入门学习笔记第二课–为什么使用spring以及spring的使用

  • Post author:
  • Post category:其他

在我的上篇博客中,留下了一个伏笔,作为这篇博客的开篇:

为什么使用spring?

这里摘取我在网上看到的内容作为这个问题的答案:

Spring的IOC和AOP两大核心功能可以大大降低应用系统的耦合性、简化开发流程。

Spring框架技术可在不同层次上起作用,比如IOC管理普通的POJO对象、AOP增强了系统服务和其它组件(事务、MVC、JDBC、ORM和远程调用等)。Spring的一大特点就是基于接口编程,它是非侵入式的服务。用户端绑定接口使用JAVA EE服务,而非直接绑定服务,而且应用也可以使用不同的服务(Hibernate、MyBatis等)。我们可以根据自己的需要,使用Spring的一部分服务,而不必使用完整的Spring系列项目。

说是为什么使用spring,其实也是在阐述使用spring的好处,在工作中使用spring,一方面是因为上面的原因,另一部分原因则在于工作中要用到spring,两者综合一下,这就我为什么要使用,学习spring的原因.

Spring项目的搭建

为了方面自己对spring的学习,首先应该能够搭建起来一份基于spring的项目,这样才能够在练习中逐渐进步,我在刚开始学习spring的时候,觉得搭建sprig项目是最痛苦的事情= =,但是,在工作中用的多了之后,其实发现spring搭建起来还是比较简单的,当前,对于目前的我来说,简单是因为只搭建最简单的部分,向着能跑就是成功进发~

准备工作:

我使用的IDE工具是eclipse neon release 4.6.2版.


使用的maven版本为3.9.2版.

首先使用maven创建一个quickstart项目,

第一步,在project explorer视图中,右键空白处,点击new >> other

输入maven,选中Mave project  ,点击next

继续点击next,

选中quickstart,点击next.

输入groupId,artifactId以及version.可以简单的将groupId理解为组织ID,将artifactId理解为项目名称,将version理解为版本.

点击finish.

注:此处项目名称为com.panda.spring.first2的原因是因为,在我的工作空间内已经包含com.panda.spring.first项目,我手动改成2的.

之后,我们打开项目的pom.xml文件,


在pom.xml文件中添加spring项目的依赖.

POM文件代码如下:

注:此处我导入了spring所有的包

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>online.52panda</groupId>
	<artifactId>com.panda.spring.first2</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>com.panda.spring.first2</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- spring的版本 -->
		<spring.version>4.3.6.RELEASE</spring.version>
	</properties>

	<dependencies>
		<!-- 导入spring所有依赖 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-instrument</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-instrument-tomcat</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jms</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-messaging</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-oxm</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc-portlet</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-websocket</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

保存pom.xml文件后,eclipse将会自动下载所需jar包,如果没有自动下载,右键工程,选中项目,update,等待jar下载完毕,下载速度,取决于宿主机器网络环境.

更新之后。jar包如下:


然后我们开始使用spring:

在src/main/java下新建以后包:com.panda.pojo

然后建一个类Panda:

package com.panda.pojo;
public class Panda {


	private String name;
	private String message;
	public void sayMessage(){
		System.out.println(name+"说:"+message);
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	
}

再在类编译路径下新建一个spring-demo.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="panda" name="panda" class="com.panda.pojo.Panda">
    <property name="name" value="Panda"/>
    <property name="message" value="hi,i`am panda"/>   
    </bean>


</beans>

最后编写,测试类:

package com.panda.test;

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

import com.panda.pojo.Panda;

public class SpringDemo {
	@org.junit.Test
	public void SpringFirst(){
		@SuppressWarnings("resource")
		ApplicationContext act=new ClassPathXmlApplicationContext("spring-demo.xml");	
		Panda panda=act.getBean(Panda.class);
		panda.sayMessage();
	}
	
}

运行效果如下:

到此,最简单的spring搭建完毕,下一步就是开始了解spring的基础知识。


版权声明:本文为Panda_IAmGoodPanda原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。