一,使用maven创建项目原型

  1. mvn archetype:generate

进入交互模式创建项目原型,根据网速不同,跳出设置选项的时间不定

第一个选项

直接Enter即可,表示使用默认值502,后面的如法炮制,直到设置我们需要的groupId,artifactId,version为止。

我的设置为:

groupId:com.yxl.springdemo

artifactId:springdemo

version:1.0-SNAPSHOT(也就是默认值)

使用tree展示原型目录结构:

二,编辑源代码

  首先创建一个bean类,在com/yxl/springdemo目录下新建HelloBean.java。

  1. package com.yxl.springdemo;
  2.  
  3. public class HelloBean
  4. {
  5. private String helloword;
  6.  
  7. public void setHelloword(String helloword)
  8. {
  9. this.helloword = helloword;
  10. }
  11. public String getHelloword()
  12. {
  13. return helloword;
  14. }
  15. }

  在com/yxl/springdemo目录下新建SpringDemo.java。

  1. package com.yxl.springdemo;
  2.  
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. import org.springframework.context.support.FileSystemXmlApplicationContext;
  6.  
  7. public class SpringDemo
  8. {
  9. public static void main(String[] args)
  10. {
  11. //ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-config.xml");
  12. ApplicationContext ctx = new FileSystemXmlApplicationContext("beans-config.xml");
  13. HelloBean hello = (HelloBean)ctx.getBean("helloBean");
  14. System.out.println(hello.getHelloword());
  15. }
  16. }

  重新编辑pom.xml,解决依赖关系,并生成可执行jar包。

  1. <?xml version = "1.0" encoding = "UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/4.1.2.RELEASE1/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6.  
  7. <groupId>com.yxl.springdemo</groupId>
  8. <artifactId>springdemo</artifactId>
  9. <version>1.0-SNAPSHOT</version>
  10. <packaging>jar</packaging>
  11.  
  12. <name>springdemo</name>
  13. <url>http://maven.apache.org</url>
  14.  
  15. <properties>
  16. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  17. </properties>
  18.  
  19. <dependencies>
  20. <dependency>
  21. <groupId>org.springframework</groupId>
  22. <artifactId>spring-core</artifactId>
  23. <version>4.1.2.RELEASE</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework</groupId>
  27. <artifactId>spring-context</artifactId>
  28. <version>4.1.2.RELEASE</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-context-support</artifactId>
  33. <version>4.1.2.RELEASE</version>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-beans</artifactId>
  38. <version>4.1.2.RELEASE</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>org.springframework</groupId>
  42. <artifactId>spring-aop</artifactId>
  43. <version>4.1.2.RELEASE</version>
  44. </dependency>
  45. <dependency>
  46. <groupId>junit</groupId>
  47. <artifactId>junit</artifactId>
  48. <version>4.7</version>
  49. <scope>test</scope>
  50. </dependency>
  51. </dependencies>
  52.  
  53. <build>
  54. <plugins>
  55. <plugin>
  56. <groupId>org.apache.maven.plugins</groupId>
  57. <artifactId>maven-shade-plugin</artifactId>
  58. <version>2.3</version>
  59. <executions>
  60. <execution>
  61. <phase>package</phase>
  62. <goals>
  63. <goal>shade</goal>
  64. </goals>
  65. <configuration>
  66. <transformers>
  67. <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
  68. <manifestEntries>
  69. <Main-Class>com.yxl.springdemo.SpringDemo</Main-Class>
  70. <Build-Number>123</Build-Number>
  71. </manifestEntries>
  72. </transformer>
  73. </transformers>
  74. </configuration>
  75. </execution>
  76. </executions>
  77. </plugin>
  78. </plugins>
  79. </build>
  80.  
  81. </project>

  在项目主目录springdemo(不是包目录)下新建beans-config.xml,配置bean属性。

  1. <?xml version = "1.0" encoding = "UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd">
  6.  
  7. <bean id = "helloBean"
  8. class = "com.yxl.springdemo.HelloBean">
  9. <property name = "helloword">
  10. <value>Hello, World</value>
  11. </property>
  12. </bean>
  13. </beans>

在这里我犯过的一个错误就是xml文件第一行的?与xml之间插入了一个空格,然后运行程序就会抛出异常。

三,编译并运行结果

  1. mvn clean compile
  2. mvn clean package
  3. java -jar target/sprintdemo-1.0-SNAPSHOT.jar

结果:

注意,执行java -jar target/springdemo-1.0-SNAPSHOT.jar时,配置文件必须在当前目录下。比如我是在项目根目录下执行这条语句,所以beans-config.xml也被放置在项目根目录springdemo中,如果在target中执行该包文件,执行时会抛出异常。

Spring入门,使用Maven进行管理的更多相关文章

  1. http://crunchify.com/simplest-spring-mvc-hello-world-example-tutorial-spring-model-view-controller-tips/ 非常棒的spring入门,maven,以及eclipse

    http://crunchify.com/simplest-spring-mvc-hello-world-example-tutorial-spring-model-view-controller-t ...

  2. Spring入门(四):使用Maven管理Spring项目

    让我们先回顾下本系列的前3篇博客: Spring入门(一):创建Spring项目 Spring入门(二):自动化装配bean Spring入门(三):通过JavaConfig装配bean 1.为什么要 ...

  3. IDEA一步步创建Maven管理的Spring入门程序

    目前,做Java开发的很多人都在使用IDEA了,而有些人也选择用Eclipse,我这里介绍一下IDEA一步步创建Maven项目的步骤,并创建一个Spring的入门程序(Java项目,非Web项目),讲 ...

  4. Spring+Mybatis+MySql+Maven 简单的事务管理案例

    利用Maven来管理项目中的JAR包,同时使用Spring在业务处理层进行事务管理.数据库使用MySq,数据处理层使用Spring和Mybatis结合. 本案例代码主要结构如图: 1.数据库脚本 -- ...

  5. Spring Security 3.2.x与Spring 4.0.x的Maven依赖管理

    原文链接: Spring Security with Maven原文日期: 2013年04月24日翻译日期: 2014年06月29日翻译人员: 铁锚 1. 概述 本文通过实例为您介绍怎样使用 Mave ...

  6. Spring入门6事务管理2 基于Annotation方式的声明式事务管理机制

    Spring入门6事务管理2 基于Annotation方式的声明式事务管理机制 201311.27 代码下载 链接: http://pan.baidu.com/s/1kYc6c 密码: 233t 前言 ...

  7. Spring入门5.事务管理机制

    Spring入门5.事务管理机制 20131126 代码下载 : 链接: http://pan.baidu.com/s/1kYc6c 密码: 233t 回顾之前的知识,Spring 最为核心的两个部分 ...

  8. 【第十五篇】- Maven 依赖管理之Spring Cloud直播商城 b2b2c电子商务技术总结

    Maven 依赖管理 Maven 一个核心的特性就是依赖管理.当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难.针对此种情形,Maven 提供了 ...

  9. 【Spring Framework】Spring入门教程(八)Spring的事务管理

    事务是什么? 事务:指单个逻辑操作单元的集合. 在操作数据库时(增删改),如果同时操作多次数据,我们从业务希望,要么全部成功,要么全部失败.这种情况称为事务处理. 例如:A转账给B. 第一步,扣除A君 ...

  10. Spring入门(十四):Spring MVC控制器的2种测试方法

    作为一名研发人员,不管你愿不愿意对自己的代码进行测试,都得承认测试对于研发质量保证的重要性,这也就是为什么每个公司的技术部都需要质量控制部的原因,因为越早的发现代码的bug,成本越低,比如说,Dev环 ...

随机推荐

  1. 利用print函数模拟打印进度条

    import time , , ): time.sleep(0.1) num = i // 2 # 地板除,即取不大于/后的最小整数(3//2 = 1, 9//4 = 2, -7//2 = -4) s ...

  2. 第十三周学习总结&实验报告(八)

    图像界面 件处理及监听处理 1.键盘事件(KeyEvent)及监听处理(KeyListener) 1.1加入事件监听 super.addWindowListener(new WindowAdapter ...

  3. java虚拟机规范(se8)——class文件格式(六)

    4.7.4 StackMapTable 属性 StackMapTable 属性是一个变长属性,位于 Code(§4.7.3)属性的属性表中.这个属性会在虚拟机类加载的类型阶段(§4.10.1)被使用. ...

  4. 一次spring boot web服务响应缓慢的排查

    使用spring boot搭建了一个web服务,部署在docker容器中.使用中出现了一个性能问题:多次接口请求中,偶尔会出现一次响应非常慢的情况.正常情况下接口的响应时间在10-20ms,偶尔会出现 ...

  5. vue - blog开发学习6

    1.问题,如下图,使用iviewui中的card导致页面不能出现滚动条(不太会弄,在网上查了一个vue组件vuescroll,因此使用这个做滚动条) 2.安装vuescroll cnpm instal ...

  6. Django建表

    最近在学习Django,遇到了些问题一起来看看吧. 1.自定义表名 Django 建表默认会以 app_name + Class_name 解决方法 #coding:utf8 from django. ...

  7. css3中的scroll-behavior属性

    scroll-behavior属性 当用户手动导航或者 CSSOM scrolling API 触发滚动操作时,CSS 属性 scroll-behavior 为一个滚动框指定滚动行为,当用户通过鼠标滑 ...

  8. border-radius使用的一些问题(不起作用?)

    出现这种问题,border-radius没有达到自己想要的效果(小程序中) 原因:border-radius定义了border的圆角,未定义span元素的圆角范围 解决:不设置border,则bord ...

  9. 三、JPA增删改查常用方法

    前言:创建EntityManager对象,需要先创建创建EntityManagerFactory对象 方式一:直接通过persistenceUnitName创建 String persistenceU ...

  10. JAVA读取Excel2003、2007、2010教程

    import java.io.File;import java.io.FileInputStream;import org.apache.poi.ss.usermodel.Row;import org ...