Spring基础知识(2)- 创建 Spring 程序
本文将在 Windows 下使用 IntelliJ IDEA 和 Apache Maven 创建一个简单的 Spring 程序。在开始之前,确保已经正确搭建了 Spring 开发环境,如何搭建 Spring 开发环境见:
Windows版本 : Windows 10 Home (20H2)
IntelliJ IDEA:Community Edition for Windows 2020.1.4
Apache Maven:3.8.1
1. 在 IDEA 上创建 Maven Quickstart 项目
1) 运行 IDEA
点击菜单 New 创建 Project:
New Project -> Project Type: Maven -> Project SDK: 1.8 -> Check "Create from archtype" -> select "org.apache.maven.archtypes:maven-archtype-quickstart" -> Next
Name: SpringBasic
GroupId: com.example
ArtifactId: SpringBasic
-> Finish
2) 生成的项目目录结构和文件
|-- src
| |-- main
| | |-- java
| | |-- com
| | |-- example
| | |-- App.java
| |-- test
| |-- java
| |-- com
| |-- example
| |-- AppTest.java
|-- pom.xml
App.java 的代码:
1 package com.example; 2 3 public class App { 4 public static void main( String[] args ) { 5 System.out.println( "Hello World!" ); 6 } 7 }
2. 编译运行
1) 可以选择 Java SDK 版本
在IDE项目列表 -> External Libraries -> <1.8>, 在 "<1.8>" 上点击鼠标右键 跳出菜单,选择 Open Library Settings 菜单项,跳出对话框。
在对话框上 Platform Settings -> SDKS 选择或添加 <1.8>
Name: 1.8
JDK home path: select 1.8 SDK or download a SDK
2) Run App.main()
Open App.java, click mouse right button, select Run "App.main()"
3) Edit Configurations
Click "+" add new configuration -> Select "Application"
Name: SpringBasic
Main class: com.example.App
-> Apply / OK
Click Run "SpringBasic"
Hello World!
3. 导入 Spring, log4j, slf4j 依赖包
访问 http://www.mvnrepository.com/,查询 Spring, log4j, slf4j
本文选择了 Spring 4.3.9.RELEASE、log4j 1.2.17、slf4j 1.7.36, log4j 和 slf4j 用于把 Spring 输出的 log 信息保存到 log 文件。
修改 pom.xml,添加 Spring 依赖:
...
...
...
...
在IDE中项目列表 -> 点击鼠标右键 -> Maven -> Reload Project
4. 创建/修改 Java 类
在 src/main/java/com/example 目录下,内容如下:
1 package com.example; 2 3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 6 public class App { 7 public static void main(String[] args) { 8 9 // System.out.println( "Hello World!" ); 10 11 ApplicationContext context1 = new ClassPathXmlApplicationContext("spring-beans.xml"); 12 Test01 obj1 = context1.getBean("Test01", Test01.class);
13 obj1.getMessage(); 14 } 15 } 16 17 class Test01 {
18 private String message; 19 20 public void setMessage(String message) { 21 this.message = message; 22 } 23 24 public void getMessage() { 25 System.out.println("Message: " + message); 26 } 27 }
5. 创建 Spring 配置文件 spring-beans.xml
在 src/main/resources 目录下,创建 spring-beans.xml (通常命名为 applicationContext.xml,不强制要求),内容如下:
1 <?xml version="1.0" encoding="UTF-8"?> 23 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 7 http://www.springframework.org/schema/context 8 http://www.springframework.org/schema/context/spring-context-4.0.xsd" > 9 10 class="com.example.Test01"> 11 13 1412
*注:src/main/resources 目录不存在,先创建这个目录,再添加 spring-beam.xml (下文如遇到目录不存在,自行创建)
6. 创建 log4j.properties 文件
在 src/main/resources 目录下,创建 log4j.properties,内容如下:
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=d:\\temp\\spirng-basic_log4j.txt
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
7. 运行
参考 "2. 编译运行"
运行 App.java,IDEA 控制台中显示信息如下:
Message: Test01 Hello World!