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

本文详细介绍Spring框架的基础概念及核心功能,包括IOC和AOP,同时深入探讨bean的装配方式,涵盖XML、Java配置及自动装配。通过实战演示如何在STS环境中创建Spring项目,配置Maven依赖,编写bean实例及测试代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小菜鸟学习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 Test4优快云 {

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

测试成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值