• 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!!!
  • 相关阅读:
    (转)查找算法:哈希查找
    VIM纵向编辑【转】
    linux下的终端利器 tmux 安装以及使用
    Windows一键设置环境变量(以设置java环境变量为例)
    如何在指针中隐藏数据?
    cygwin gcc 编译windowsAPI 报错的一个解决方案
    Centos 7 最小化部署svn版本控制(http协议)
    Centos 7 最小化vnc远程桌面部署
    Centos 7 最小化图形界面安装
    Python的迭代器与生成器
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/15819294.html
Copyright © 2020-2023  润新知