-
工具idea,tomcat
-
File->New->Project,选择Empty Project,创建一个空工程
-
File->New->Module,选择Maven->org.apache.maven.archetype:maven-archetype-quickstart->Next
-
填写坐标,框红的都为none
-
填写maven的一些信息,框红的必须要填,不然这个工程创建会极慢极慢
-
填写module name(以上步骤与Struts2的简单搭建中Maven方式搭建相似)
-
修改pom.xml
<modelVersion>4.0.0</modelVersion> <groupId>maven_spring</groupId> <artifactId>maven_spring</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>maven_spring</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument-tomcat</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-messaging</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.14.RELEASE</version> <!--<scope>test</scope>--> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> </dependencies>
-
选中名为maven_spring的module目录,右键->Maven->Reimport,导入jar
-
在src/main/java下编写HelloWorld,Main类
public class HelloWorld { private String name; public void setName(String name) { this.name = name; } public void sayHello(){ System.out.println("Hello "+name); } } public class Main { public static void main(String[] args){ //创建一个spring的IOC容器对象 ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml"); //从IOC容器中获取Bean实例 HelloWorld helloWorld = (HelloWorld)context.getBean("helloWorld"); //调用sayHello()方法 helloWorld.sayHello(); } }
-
在src/main/resources下创建spring-config.xml文件,并设置bean
<bean id="helloWorld" class="HelloWorld"> <property name="name" value="lalala"></property> </bean>
-
在Terminal中切换到相应路径,使用mvn compile编译
-
右键运行Main类,就可以显示结果了
问题
- 如果spring-config.xml文件放在了src/main/java下,则使用maven编译后,其不会出现在classes的文件夹下。有两种方法解决:
-
把配置文件放在src/main/resources的资源文件夹下
-
在pom.xml引入这个资源文件,如下:
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>