Spring in action 读书笔记(第一章)spring环境
小菜鸟学习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();
}
}
测试成功
上一篇: 分享基于字符串加密的MD5算法实例代码
下一篇: .net使用Cache框架的实例介绍
推荐阅读
-
[读书笔记] Spring MVC 学习指南 -- 第一章
-
spring aop action中验证用户登录状态的实例代码
-
2.1spring cloud 环境配置
-
springboot如何使用logback-spring配置日志格式,并分环境配置
-
Spring源码阅读环境搭建
-
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
-
Spring读取不同环境的配置文件
-
[原创] Spring 配置文件中如何读取系统环境变量
-
Spring MVC学习笔记 第一章 概述
-
Spring Cloud Alibaba-nacos多人开发实现环境隔离(namespace的引用)