11.12 Spring开发环境以及第一个Spring程序

11.12 Spring开发环境以及第一个Spring程序

Spring开发环境搭建

Maven项目的porm.xml导入Spring依赖

关键依赖:

Spring项目是基于Bean的编程,所以:

<dependencies>
<!-- 测试相关依赖 -->
   <dependency>
  <groupId>org.testng</groupId>
       <artifactId>testng</artifactId>
       <version>7.1.0</version>
       <scope>test</scope>
   </dependency>
   
   <!-- 核心基础依赖 -->
   <!--Spring核心容器Core-->
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>5.0.2.RELEASE</version>
     </dependency>
   
   <!--Spring上下文依赖-->
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <version>5.0.2.RELEASE</version>
     </dependency>
   
   <!--Spring的Bean依赖-->
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-beans</artifactId>
         <version>5.0.2.RELEASE</version>
     </dependency>
   
   <!--Spring的M层-->
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-expression</artifactId>
         <version>5.0.2.RELEASE</version>
     </dependency>
   
     <!--日志相关-->
     <dependency>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
         <version>1.2</version>
     </dependency>
     <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
         <version>1.2.17</version>
     </dependency>
 </dependencies>
</dependencies>

依赖小结:

Spring相关:

  • 核心Core依赖

  • 上下文Context依赖

  • 对象Bean依赖

  • 表现层Expression依赖


实例搭建Spring项目

  • 使用maven创建Spring项目

  • 导入相关依赖

  • 创建Spring配置文件

  • 创建Java


使用maven创建Spring项目

File--->project--->org.apache.maven下的webapp

导入相关依赖:

<?xml version="1.0" encoding="UTF-8"?>

<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>com.junkingboy</groupId>
 <artifactId>SpringStudy</artifactId>
 <version>1.0-SNAPSHOT</version>
 <packaging>war</packaging>

 <name>SpringStudy Maven Webapp</name>
 <!-- FIXME change it to the project's website -->
 <url>http://www.example.com</url>

 <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <maven.compiler.source>1.7</maven.compiler.source>
   <maven.compiler.target>1.7</maven.compiler.target>
 </properties>

 <dependencies>
   <!-- 测试相关依赖 -->
   <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.11</version>
     <scope>test</scope>
   </dependency>
   <dependency>
     <groupId>org.testng</groupId>
     <artifactId>testng</artifactId>
     <version>7.4.0</version>
   </dependency>

   <!-- Spring核心依赖 -->
   <!--Spring底层Core-->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-core</artifactId>
     <version>5.2.3.RELEASE</version>
   </dependency>

   <!--Spring上下文依赖-->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>5.2.3.RELEASE</version>
   </dependency>

   <!--Spring的Bean对象依赖-->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-beans</artifactId>
     <version>5.2.3.RELEASE</version>
   </dependency>

   <!--Spring的M层依赖-->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-expression</artifactId>
     <version>5.2.3.RELEASE</version>
   </dependency>

   <!--日志相关依赖-->
   <dependency>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
     <version>1.2</version>
   </dependency>
   <dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>1.2.17</version>
   </dependency>
 </dependencies>

 <build>
   <finalName>SpringStudy</finalName>
   <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
     <plugins>
       <plugin>
         <artifactId>maven-clean-plugin</artifactId>
         <version>3.1.0</version>
       </plugin>
       <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>
         <version>3.0.2</version>
       </plugin>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.8.0</version>
       </plugin>
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
         <version>2.22.1</version>
       </plugin>
       <plugin>
         <artifactId>maven-war-plugin</artifactId>
         <version>3.2.2</version>
       </plugin>
       <plugin>
         <artifactId>maven-install-plugin</artifactId>
         <version>2.5.2</version>
       </plugin>
       <plugin>
         <artifactId>maven-deploy-plugin</artifactId>
         <version>2.8.2</version>
       </plugin>
     </plugins>
   </pluginManagement>
 </build>
</project>

src下创建Spring的配置文件Beans.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-3.0.xsd">

   <bean id="helloWorld" class="com.junkingboy.HelloWorld">
       <!-- 定义bean类的属性和值 -->
       <property name="message" value="Hello World" />
   </bean>
</beans>

创建Beans.xml文件中的bean类--->严格按照Spring文件下的路径去创建:

package com.junkingboy;

/**
* @description:Spring的测试类
* @data: 2021/11/15 11:11
* @author: Lucifer
*/
public class HelloWorld {
   private String message;

   /* 提供get和set方法 */
   public String getMessage() {
       return message;
  }

   public void setMessage(String message) {
       this.message = message;
  }
}

作用:

  • 给不同的Bean分配唯一的ID,并给相应的Bean属性赋值

创建运行测试类:

MainApp.java

package com.junkingboy;

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

/**
* @description:获取Spring当中的Bean.xml配置文件下的类和属性信息
* @data: 2021/11/15 11:20
* @author: Lucifer
*/
public class MainApp {
   public static void main(String[] args) {
       ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
       HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
       System.out.println(obj.getMessage());
  }
}

整体调用过程:

  • 面向接口编程,使用ClasspathXmlApplicationContext类加载Spring的配置文件Beans.xml

  • 使用ApplicationContext接口接收该对象

  • 在通过接口接收的对象调用getBean()方法获取Bean对象

  • 调用Bean对象当中的方法

It's a lonely road!!!
原文地址:https://www.cnblogs.com/JunkingBoy/p/15819294.html