`
dyllove98
  • 浏览: 1405239 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39052
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:80057
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133162
社区版块
存档分类
最新评论

简单 maven工程 spring注入 自动打包

阅读更多

一:安装必要的环境软件,可以参考网上的资料;

 

源码连接: http://download.csdn.net/detail/yeshenrenjin/5053039

后面的排版发生错乱,大家参考源码工程阅读,效果比较好。

 

最后一个图总是显示不出来,放在这里

二: 使用maven模版创建工程;

         1:使用框架创建工程;

        

点击完成;

          2:生成工程如图所示:

                 

            3:添加config文件,作为配置文件夹,并将其作为“Use as source folder”(即:选中config文件,点击右键->BuildPath-->Use as source folder )

                如图:

                           

                4: 添加新类文件

                  

  1. public class InfoCollect {  
  2.     private String name;  
  3.     private int age;  
  4.     private String address;  
  5.     private String passWord;  
  6.       
  7.       
  8.     public String getName() {  
  9.         return name;  
  10.     }  
  11.     public void setName(String name) {  
  12.         this.name = name;  
  13.     }  
  14.     public int getAge() {  
  15.         return age;  
  16.     }  
  17.     public void setAge(int age) {  
  18.         this.age = age;  
  19.     }  
  20.     public String getAddress() {  
  21.         return address;  
  22.     }  
  23.     public void setAddress(String address) {  
  24.         this.address = address;  
  25.     }  
  26.     public String getPassWord() {  
  27.         return passWord;  
  28.     }  
  29.     public void setPassWord(String passWord) {  
  30.         this.passWord = passWord;  
  31.     }  
  32.       
  33. }  

                     5:在pom文件中添加spring相关的依赖

  1.      
  2.    <dependency>  
  3.     <groupId>org.springframework</groupId>  
  4.     <artifactId>spring</artifactId>  
  5.     <version>2.5.6</version>  
  6. </dependency>  
  7.  </dependencies>  

                       我们在config目录下生成相关的配置文件:

 

                 如下:

  1. <bean id="infoCollect" class="com.netboy.maven.mavenDo.InfoCollect">  
  2.     <property name="name" value="netboy" />  
  3.     <property name="age" value="111" />  
  4.     <property name="address" value="hangzhou " />  
  5.     <property name="passWord" value="${password}" />  
  6. </bean>  

 

 

三:  运行程序

输出如下:

                     

四: 自动打包并替换掉占位符

          1: 在src/main目录下创建如图所示文件;

              

            daily.properties 内容为: password = 111111

           online.properties内容为: password = 222222

           zip.xml内容为: 

 

  1. <assembly  
  2.     xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">  
  5.     <id>bin</id>  
  6.     <formats>  
  7.                 输出目标格式是zip  
  8.                 <format>zip</format>  
  9.     </formats>  
  10.     <fileSets>  
  11.         <fileSet>  
  12.                             
  13.   
  14.                           ${project.basedir}约定为工程的根目录,将根目录下的指定文件拷贝到输出目标文件中的/目录下  
  15.   
  16.   <directory>${project.basedir}</directory><outputDirectory>/</outputDirectory><includes><include>README*</include><include>LICENSE*</include><include>NOTICE*</include><include>run.sh</include></includes></fileSet><fileSet><directory>${project.basedir}/config</directory><outputDirectory>/config</outputDirectory><includes><include>*.properties</include><include>*.xml</include></includes>  
  17. 拷贝的时候根据指定的filter进行替换占位符,然后将新生成的配置文件放到指定的目录下   
  18.  <filtered>true</filtered></fileSet><fileSet> 将指定目录下的文件copy到生成目标的指定目录下<directory>${project.basedir}/solr-home/conf</directory>  
  19. <outputDirectory>/solr-home/conf</outputDirectory><includes><include>*.xml</include></includes></fileSet><fileSet><directory>${project.build.directory}</directory><outputDirectory>/lib</outputDirectory><includes><include>*.jar</include></includes><excludes><exclude>*-sources.jar</exclude></excludes></fileSet><fileSet><directory>${project.build.directory}/lib</directory><outputDirectory>/lib</outputDirectory><includes><include>*.jar</include></includes></fileSet></fileSets></assembly>  
  20.   
  21.                2: 添加相关打包插件依赖  
  22.   
  23.                     如下所示:  
  24.   
  25.   <build>  
  26.         <filters>   默认打包时使用daily.properties进行占位符替换  
  27.             <filter>src/main/assemble/daily.properties</filter>  
  28.         </filters>  
  29.           
  30.         <resources>  
  31.             <resource>  
  32.                 <directory>config</directory>  
  33.                 <filtering>true</filtering>  
  34.                 <includes>  
  35.                     <include>*.xml</include>  
  36.                     <include>*.properties</include>  
  37.                 </includes>  
  38.             </resource>  
  39.         </resources>  
  40.           
  41.       <plugins>  
  42.   
  43.             <plugin>  
  44.                 <groupId>org.apache.maven.plugins</groupId>  
  45.                 <artifactId>maven-eclipse-plugin</artifactId>  
  46.                 <version>2.7</version>  
  47.             </plugin>  
  48.            
  49.             <plugin>  
  50.                 <groupId>org.apache.maven.plugins</groupId>  
  51.                 <artifactId>maven-jar-plugin</artifactId>  
  52.                 <version>2.3.2</version>  
  53.                        打包jar时排除掉 src/main/resources 下的xml和 properties  
  54.                 <configuration>  
  55.                     <excludes>  
  56.                         <exclude>**/*.xml</exclude>  
  57.                         <exclude>**/*.properties</exclude>  
  58.                     </excludes>  
  59.                 </configuration>  
  60.             </plugin>  
  61.               
  62.                        
  63.             <plugin> 打包copy依赖到指定目录下  
  64.                 <groupId>org.apache.maven.plugins</groupId>  
  65.                 <artifactId>maven-dependency-plugin</artifactId>  
  66.                 <executions>  
  67.                     <execution>  
  68.                         <id>copy-dependencies</id>  
  69.                         <phase>package</phase>  
  70.                         <goals>  
  71.                             <goal>copy-dependencies</goal>  
  72.                         </goals>  
  73.                         <configuration>  
  74.                             <outputDirectory>${project.build.directory}/lib</outputDirectory>  
  75.                             <overWriteReleases>true</overWriteReleases>  
  76.                             <overWriteSnapshots>true</overWriteSnapshots>  
  77.                             <overWriteIfNewer>true</overWriteIfNewer>  
  78.                         </configuration>  
  79.                     </execution>  
  80.                 </executions>  
  81.             </plugin>  
  82.               
  83.             <plugin>  
  84.                 <artifactId>maven-assembly-plugin</artifactId>  
  85.                 <version>2.2</version>  
  86.                 <configuration>  
  87.                     <descriptors>  
  88.                         <descriptor>src/main/assemble/zip.xml</descriptor>  
  89.                     </descriptors>  
  90.                 </configuration>  
  91.                 <executions>  
  92.                     <execution>  
  93.                         <id>assembly</id>  
  94.                         <phase>package</phase>  
  95.                     </execution>  
  96.                 </executions>  
  97.             </plugin>  
  98.               
  99.         </plugins>  
  100.     </build>  
  101.       
  102.     <profiles>  
  103.       <profile>     打daily环境部署的zip包  
  104.             <id>daily</id>  
  105.             <build>  
  106.                 <filters>  
  107.                     <filter>src/main/assemble/daily.properties</filter>  
  108.                 </filters>  
  109.   
  110.                 <plugins>  
  111.                     <plugin>  
  112.                         <artifactId>maven-assembly-plugin</artifactId>  
  113.                         <executions>  
  114.                             <execution>  
  115.                                 <phase>package</phase>  
  116.                                 <goals>一个package生命周期运行一次  
  117.                                     <goal>single</goal>  
  118.                                 </goals>  
  119.                                 <configuration>  
  120.                                     <descriptors>  
  121.                                         <descriptor>src/main/assemble/zip.xml</descriptor>  
  122.                                     </descriptors>  
  123.                                 </configuration>  
  124.                             </execution>  
  125.                         </executions>  
  126.                     </plugin>  
  127.                 </plugins>  
  128.             </build>  
  129.         </profile>  
  130.                              
  131.                  <profile> 打线上环境部署的zip包  
  132.             <id>online</id>  
  133.             <build>  
  134.                 <filters>  
  135.                     <filter>src/main/assemble/online.properties</filter>  
  136.                 </filters>  
  137.                   
  138.                 <plugins>  
  139.                     <plugin>  
  140.                         <artifactId>maven-assembly-plugin</artifactId>  
  141.                         <executions>  
  142.                             <execution>  
  143.                                 <phase>package</phase>  
  144.                                 <goals>  
  145.                                     <goal>single</goal>  
  146.                                 </goals>  
  147.                                 <configuration>  
  148.                                     <descriptors>  
  149.                                         <descriptor>src/main/assemble/zip.xml</descriptor>  
  150.                                     </descriptors>  
  151.                                 </configuration>  
  152.                             </execution>  
  153.                         </executions>  
  154.                     </plugin>  
  155.                 </plugins>  
  156.             </build>  
  157.         </profile>  
  158.     </profiles>  
  159. </project>  
分享到:
评论

相关推荐

    Spring in Action 使用Maven 构建Spring 工程

    《Spring in Action》一书是Spring框架的实践指南,它深入介绍了如何使用Maven构建Spring工程。Maven是一个流行的项目管理和综合工具,它通过提供一套标准化的构建过程,简化了Java项目的构建、依赖管理和部署。在...

    maven+spring简单实例

    在“maven+spring 自动打包”这一标签中,我们关注的是自动化构建过程。Maven的生命周期包含清理(clean)、编译(compile)、测试(test)、打包(package)、验证(verify)等多个阶段。通过在POM.xml中配置`...

    maven-spring 实例

    在`package`阶段,我们可以使用Maven插件(如`maven-spring-boot-plugin`)将Spring应用打包成可执行的JAR或WAR文件。 6. Spring Boot与Maven: Spring Boot简化了Spring应用的初始化和配置。通过在POM.xml中添加...

    用Maven搭建Spring+Spring MVC+Hibernate框架

    Maven是Apache开发的一款项目管理和综合工具,它通过一个项目对象模型(Project Object Model, POM)来管理项目依赖关系,自动化构建过程,如编译、测试、打包、部署等。要开始构建项目,你需要在Eclipse中安装Maven...

    maven整合spring+hibernate+struts2

    本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...

    spring 扫描jar maven 打包

    标题 "spring 扫描jar maven 打包" 涉及的是在Java开发中,如何使用Spring框架和Maven工具来构建并打包一个项目,其中包含Spring对jar包的扫描以及Maven的打包流程。这里我们将深入探讨这两个关键概念。 1. **...

    maven+spring+springMVC+mybatis+oracle

    在IT行业中,构建高效、可维护的企业级应用是一项复杂任务,而"Maven+Spring+SpringMVC+MyBatis+Oracle"的组合是常见的技术栈,用于开发Java Web应用程序。这个组合提供了强大的依赖管理和模块化,灵活的控制反转,...

    Maven+spring+spring MVC+Mybatis开发范例

    通过Maven,开发者可以方便地管理项目依赖,自动化构建流程,如编译、测试、打包、部署等。Maven使用一个标准的目录结构,并通过POM(Project Object Model)文件来描述项目的配置信息和依赖关系,使得项目能够在...

    maven_spring mvc_mina dome

    Maven通过使用一个统一的项目对象模型(POM)来定义项目,并自动下载所需的库,编译源代码,运行测试,打包应用等。在这个项目中,Maven被用来管理Spring MVC和Mina的依赖,以及整个项目的构建过程。 【Mina】是...

    Maven+spring+springMVC+mybatis 项目简单例子

    在IT行业中,构建Java Web应用程序是一项常见的任务,而"Maven+spring+springMVC+mybatis"是一个经典的组合,它们各自扮演着不同的角色,共同构建出高效、灵活的应用框架。让我们详细了解一下这些技术及其在项目中的...

    maven-spring-shiro

    开发者可以通过定义不同生命周期阶段和插件目标,实现编译、测试、打包、部署等一系列自动化操作。 接着,Spring框架是Java领域中广泛使用的开源框架,其核心特性包括依赖注入(DI)和面向切面编程(AOP)。在本...

    基于maven+spring+spring mvc+mybatis 框架web项目

    在IT行业中,构建Web应用程序是一项常见的任务,而“基于maven+spring+spring mvc+mybatis框架web项目”提供了一个适用于初学者的学习路径。这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC...

    maven+spring+jetty+logback简单项目源码

    这个"maven+spring+jetty+logback简单项目源码"提供了一个基础框架,方便新手快速入门并实践这些技术。 首先,`Maven`是Apache开发的一个项目管理和综合工具,它通过一个项目对象模型(Project Object Model, POM)...

    maven+spring+mybatis简单合成

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+Spring+MyBatis"的组合就是一种常见的开发模式。这个组合利用了Maven的项目管理和依赖管理能力,Spring的全面企业级应用框架特性,以及MyBatis的灵活...

    maven+spring+cxf webservice demo

    【标签】中的“maven”指出了项目使用Maven进行构建管理,它能帮助开发者自动化构建过程,管理依赖关系,以及执行测试和打包等任务。"spring"表示项目中融入了Spring框架,Spring的IoC容器使得组件之间的依赖关系...

    Maven Spring

    Spring作为一个强大的轻量级框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等,而Maven作为项目管理和构建工具,能够简化构建过程,管理项目的依赖关系。本文将深入探讨...

    maven+spring+springmvc+hibernate项目示例

    Maven通过POM(Project Object Model)文件定义项目配置,自动处理依赖关系下载,构建过程如编译、测试、打包、部署等。在这个项目中,`mvn-web`可能就是项目的根目录,其中包含了`pom.xml`文件,定义了项目的构建和...

    dubbo+maven+spring

    【标题】"dubbo+maven+spring"是一个典型的微服务架构技术栈,它结合了三个在Java开发领域中广泛使用的框架或工具。Dubbo是阿里巴巴开源的高性能、轻量级的服务治理框架,主要用于构建分布式服务;Maven是项目管理...

    maven+spring MVC+Mybatis+jetty+mysql

    Maven 使用一种标准的目录结构和XML格式的项目对象模型(Project Object Model, POM),能够自动下载所需的库文件,编译源代码,运行测试,打包,部署等。在本项目中,Maven 负责集成所有依赖,包括Spring MVC、...

    maven+springjpa+hibernate

    【 Maven + Spring Data JPA + Hibernate 整合详解】 在现代Java开发中,Maven、Spring Data JPA和Hibernate是三个非常重要的工具和技术。Maven是项目管理工具,Spring Data JPA提供了对数据库操作的高级抽象,而...

Global site tag (gtag.js) - Google Analytics