spring入门一

Spring入门案例

一、开发环境要求

1.软件版本
maven版本:3.8.8
jdk版本:jdk11
Spring版本:spring-5.2.8
Log 版本:logback
2.开发工具
IDEA2022社区版
MySQL8.0社区版
MySQL管理图形界面工具-Beekeeper Studio

二、Maven安装与配置

2.1 下载Maven并解压安装

在Maven官网(https://maven.apache.org/download.cgi)下载稳定版本Maven-3.8.8并解压安装,其安装目录为C:/Program Files/Maven3.8。

2.2 配置Maven环境变量MAVEN_HOME

配置Maven环境变量MAVEN_HOME,其值为"C:/Program Files/Maven3.8",具体操作过程如下
第一步:以Win10为例,选中桌面程序图标【此电脑】右键,选择【属性】,在弹出的对话框里选择左侧的【高级系统设置】弹出系统属性设置对话框,选择【环境变量】进入设置环境变量对话框。
第二步:添加系统变量MAVEN_HOME,变量值为Maven安装目录名称,在本示例中MavenC:/Program Files/Maven3.8;向系统变量path添加配置项"%MAVEN_HOME%\bin"。
第三步:按Win+R启动运行对话框,输入cmd命令启动window命令窗口,输入maven命令"mvn -V",观察是否输出"Apache Maven 3.8.8",如果是表示Maven安装配置成功。

2.3 完成maven全局配置

  maven的配置文件名称为conf/settings.xml,全局配置包括localRepository(artifacts本地仓库)、mirrors(从远程仓库下载artifacts的镜像集合)、profile(激活配置文件)。
        1.localRepository:本地仓库,可以自定义,默认目录是${user.home}/.m2/repository,如果是windows平台,用户(Administrator)的user.home为"C:\Users\Administrator"。
        2.mirrors:从远程仓库下载artifacts的镜像组,可以配置多个镜像(mirror)。默认是国外下载镜像,下载速度较慢,需要更改为国内下载镜像,例如阿里云镜像、华为云镜像、腾讯云镜像、网易镜像等。
                   添加国内镜像方式,以添加阿里云镜像为例:
                        <mirror>
                         <id>alimaven</id>
                         <mirrorOf>central</mirrorOf>
                         <name>aliyun maven</name>
                         <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
                       </mirror>
        3.profile:编译所需的配置信息,满足激活条件时启用。参考配置示例
          <profile>
                <id>jdk-11</id>
                <!--激活条件-->
                <activation>
                  <jdk>11</jdk>
                </activation>
                <!--配置属性-->
                <properties>
                <!--编译项目源码编码方式为UTF-8-->
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <!--maven编译器JDK版本-->
                <maven.compiler.source>11</maven.compiler.source>
                <maven.compiler.target>11</maven.compiler.target>
                </properties>
          </profile>

IDEA添加Spring支持的全局配置

3.1 maven的配置

Maven配置过程如下:
第一步,【File】->【Settings】->【Build,Execution,Deployment】->【Build Tool】->【Maven】,进入Maven设置界面。
第二步,依次配置“maven home path”、“User setting File”和“Local repository”,具体配置参数值如下:
(1)”maven home path“  设置为IDEA内置Maven(bundled Maven3)或者自定义MAVEN安装目录。
(2)”User setting File“ 设置为自定义Maven的配置文件(settings.xml),配置信息级别分为用户自定义配置和全局配置,用户自定义配置文件的默认存放目录是:C:\Users\Administrator\.m2,而
 全局配置文件的存放目录是maven安装目录下的conf文件夹。
(3)"local repository" 设置存放项目所需jar的本地仓库,Maven工具的maven-build-plugin插件会根据项目pom.xml的下载所需jar并存放到该目录。开发者可以指定本地仓库,常见做法是:在maven安装目录下创建repository文件夹作为本地仓库。
  在本示例中,maven参考配置如下:
maven home path=C:/Program Files/Maven3.8
User setting File=C:\Program Files\Maven3.8\conf\settings.xml
local repository=C:\Program Files\Maven3.8\repository

3.2 Spring schema配置

编写基于Spring框架的应用程序通常需要配置applicationContext.xml,但是IDEA社区版中缺少applicationContext.xml的schema文件,
因此开发者需要手动添加springframework的schema配置,才能实现代码补全,提高开发效率。spring schema包括aop、beans、cache、context、jdbc、jee、jms、lang、mvc、oxm、task、tool、tx、util、websocket。
开发者可以根据配置需要直接下载对应schema(https://www.springframework.org/schema/)并拷贝至IDEA安装目录的C:/Users/Administrator/AppData/Local/JetBrains/IdeaIC2022.2/extResources/。在IDEA添加schema的过程:
第一步,【File】->【Settings】->【Languages& Frameworks】->【Schema And DTDs】进入设置schema操作界面。
第二步,依次添加springframework的bean和context的schema,操作过程:在操作界面点击【+】,在弹出的对话中填写需要添加的schema的URI和FILE。
在本示例中,context schema和bean schema的参考配置如下:
(1)context schema的URI和File的值分别为"http://www.springframework.org/schema/context" 和 "C:/Users/Administrator/AppData/Local/JetBrains/IdeaIC2022.2/extResources/schema/context/spring-context.xsd"
(2)bean schema 的URI和File的值分别为"https://www.springframework.org/schema/beans" 和 "C:/Users/Administrator/AppData/Local/JetBrains/IdeaIC2022.2/extResources/schema/beans/spring-beans.xsd"

四、创建基于Spring的Java项目

4.1 创建项目java_spring程序目录结构

使用maven项目模板maven-archetype-quickstart创建java项目java_spring,具体操作步骤如下:
    第一步:启动IDEA,选择菜单【File】->【New】->【Project】,在弹出的New Project对话框中选择左侧的Maven Archetype、填写项目相关配置信息并点击【create】按钮执行创建项目动作,项目具体配置信息如下:
         -----------------------------------------
         | Name:java_spring
         | Location:~\IdeaProjects
         | JDK: 11(java version 11.0.17)
         | Catalog:Internal
         | Archetype:maven-archetype-quickstart
         | Version:1.1(自动识别)
         | -Additional Properties(maven项目拓展属性)
         |  project.build.sourceEncoding=UTF-8
         |  maven.compiler.source=11
         |  maven.compiler.target=11
         | -Advanced Settings(maven项目高级配置)
         |     groupId=com.gxuwz
         |  artifactId=sample
         |     version=1.0-SNAPSHOT
         -----------------------------------------
         IDEA的Build控制台输出"Build Success"提示字符串,表示项目创建成功。项目的程序目录结构如下:
         -----------------------------------------
            java_spring
            |-- pom.xml
            `-- src
                |-- main
            |   `-- java
            |       `-- com
            |           `-- gxuwz
            |               `-- sample
            |                   `-- App.java
            `-- test
              `-- java
                `-- com
                  `-- gxuwz
                    `-- sample
                      `-- AppTest.java
         -----------------------------------------
         选中Project菜单中新创建的maven项目java_spring,右键选择【maven】->【reload project】,接着选中App.java,右键选择【Run App.main()】,
         观察控制台是否能输出”Hello World!“提示,如果有,表示项目的配置成功。
    第二步:添加静态资源目录resources,操作过程:选中项目java_spring并右键选择【open_module_setting】,在弹出project structure对话框里选择【sources】,
           选中src目录的main,右键【New Directory】并输入新目录名称"resources";选中目录"resources",将其标记为(Mark as )Resources即可。

4.2 添加springframework支持

添加springframework支持包括创建IoC容器配置文件applicationContext.xml和添加springframework各模块的dependency。
        (1)在本示例中仅涉及IoC容器,只需引入bean模块和context模块对应的dependency,在pom.xml中的配置内容如下:
         -------------------------------------------------------------------------------
         | <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
         |    <dependency>
         |      <groupId>org.springframework</groupId>
         |      <artifactId>spring-beans</artifactId>
         |      <version>5.2.8.RELEASE</version>
         |    </dependency>
         |    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
         |    <dependency>
         |      <groupId>org.springframework</groupId>
         |      <artifactId>spring-context</artifactId>
         |      <version>5.2.8.RELEASE</version>
         |    </dependency>
         -------------------------------------------------------------------------------
         (2)在resources目录创建applicationContext.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:context="http://www.springframework.org/schema/context"
                 xsi:schemaLocation="
                 http://www.springframework.org/schema/beans
                 https://www.springframework.org/schema/beans/spring-beans.xsd
                 http://www.springframework.org/schema/context
                 https://www.springframework.org/schema/context/spring-context.xsd">
             <!--添加自定义bean组件-->
         </beans>
         -------------------------------------------------------------------------------

4.3 添加日志支持

要了解springframework的IoC容器的实现,需要清楚IoC容器中各模块之间的调用关系,而通过引入日志系统logback、定义日志输出配置方式,
       实现框架内部各模块日志信息的输出,开发者分析日志信息从而了解模块与模块之间的调用顺序。springframework自5.0版本开始,内置实现日志桥接功能的模块spring-jcl,
       开发者需要将logback或者log4j2.x放在classpath路径即可。添加日志支持包括:
       (1)在pom.xml添加logback的maven仓库dependency。在本示例中,引入日志组件logback在pom.xml的配置内容如下:
        -------------------------------------------------------------------------------
         <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
            <dependency>
              <groupId>ch.qos.logback</groupId>
              <artifactId>logback-core</artifactId>
              <version>1.4.10</version>
            </dependency>
            <dependency>
              <groupId>ch.qos.logback</groupId>
              <artifactId>logback-classic</artifactId>
              <version>1.4.10</version>
            </dependency>
        -------------------------------------------------------------------------------
       (2)在resources目录创建logback日志配置文件logback.xml。在本示例中,logback.xml的配置内容如下:
        -------------------------------------------------------------------------------
        <?xml version="1.0" encoding="UTF-8"?>
        <configuration>
            <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
                <encoder>
                    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
                </encoder>
            </appender>
            <root level="debug">
                <appender-ref ref="STDOUT" />
            </root>
            <!--自定义Logger-->
        </configuration>
         -------------------------------------------------------------------------------
         理解logback.xml各配置项(如appender、pattern等)内容需要参阅log4j-users-guide.pdf和logback-中文手册。

4.4 编写程序主类App,使用日志方式输出"Hello world!"字符串到控制台(Console),输出内容格式:
-------------------------------------------------------------------------------
11:27:21.674 [main] INFO com.gxuwz.App - Hello World!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KYGALYX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值