Spring in action 读书笔记(第一章)spring环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LJX_ahut/article/details/81974877

小菜鸟学习spring,最近在啃 Spring IN ACTION ,中文版书名为spring实战,本书被大多数人点赞和好评。为了提高学习效果,特此做一个简单的笔记以便温习回顾,如有错误或者您有更好的建议与意见烦请指正指导。

第一章大致讲解了一下spring的基础概念和核心功能,即IOC和AOP,以及上下文和bean容器以及bean的生命周期等概念,并简单介绍了spring框架的各个模块,以及spring框架版本的新功能等。

第二章说的是bean的装配可选方案有以下三种

  • 在xml文件中进行显式配置
  • 在java中进行显式配置
  • 隐式的bean发现机制和自动装配

结合书中的代码片段和讲解,我自己写了demo测试

首先搭建编程环境:

编译工具为spring tool suit 简称sts,使用maven进行项目管理,创建spring的quickstart项目,目录结构如图所示

ps:新建的项目中获取没有src/main/resources这个source fold ,新建一个即可。

1.项目创建完成后,搭建spring环境

引入pom依赖

<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>org.lujx</groupId>
	<artifactId>practice</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>practice</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>2.13.0</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>4.3.14.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.9.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>4.3.14.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.8.10</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.10</version>
		</dependency>
		<dependency>
			<groupId>javax.annotation</groupId>
			<artifactId>jsr250-api</artifactId>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupId>com.github.jsr-330</groupId>
			<artifactId>core</artifactId>
			<version>1.4.0</version>
		</dependency>
		<dependency>
			<groupId>com.github.stefanbirkner</groupId>
			<artifactId>system-rules</artifactId>
			<version>1.16.0</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

2.创建application.xml配置文件

创建该配置文件的最直接的方式就是直接新建一个xml文件命名为application.xml,然后手动添加命名空间和beans根节点,这里介绍另外一种创建方式,由于我使用的IDE是STS,这个是spring官方提供的IDE,创建流程是file-->new-->Spring Bean Configuration FIle,这里可以勾选所需的命名空间,不用再去苦逼的找文档然后复制粘贴,如下图所示,勾选之后点击finish即可。

3.验证环境

编写测试代码,验证spring环境是否搭建成功

在src/main/java资源文件夹下创建一个类,为了开发规范,建议写上包名,例如,创建BraveKnight类,该类是实现了Knight接口,不多说直接上代码


package org.lujx.chapter1.knights;
public interface Knight {
	void embarkOnQuest();
}
public class BraveKnight implements Knight{
	public void embarkOnQuest() {
		System.out.println("embarkOnQuest");
	}
}

配置application.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:aop="http://www.springframework.org/schema/aop"
	xmlns:c="http://www.springframework.org/schema/c" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:lang="http://www.springframework.org/schema/lang" 
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
		http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
	<bean id="braveKnight" class="org.lujx.chapter1.knights.BraveKnight">
	</bean>
</beans>

编写测试类

在src/main/resources创建测试类,如图所示

package org.lujx.test.chapter1;

import org.junit.Test;
import org.lujx.chapter1.knights.BraveKnight;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test4CSDN {

	ApplicationContext ctx =new  ClassPathXmlApplicationContext("application.xml");
	
	@Test
	public void testBraveKnight(){
		BraveKnight braveKnight = (BraveKnight) ctx.getBean("braveKnight");
		braveKnight.embarkOnQuest();
	}
}

测试成功

猜你喜欢

转载自blog.csdn.net/LJX_ahut/article/details/81974877