Myeclipse下使用Maven搭建spring boot项目

开发环境:Myeclipse2017、JDK1.6、Tomcat7.0。
Myeclipse下使用Maven搭建spring boot项目,详细过程如下:

1. New -> Project... -> Maven Project


2. Next, 选择Use default Workspace location。


3. Next, 选择“maven-archetype-webapp”创建一个webapp目录结构的项目


4. 填Group Id,Artifact Id,和Package(请参考后面的“关键词”),点击“Finish”

GroupId:一般是公司名或组织名。
ArtifactId:一般是project名。
Packaging:打包类型,jar/war/rar/ear/pom等,默认是jar。
Version:版本号,GroupId+ArtifactId+Packaging+Version构成项目的唯一标识。



5. 休息片刻,等待MyEclipse创建项目


创建完成后,文件目录结构如下:

创建完成后,发现index.jsp报错,打开index.jsp,报错如下:


右键项目,build path,AddLibrary...


选择MyEclipse Server Library。


Next后,选择一个Tomcat,Finish。


此时index.jsp已经不报错了,如果我们的pom.xml报错,有小红叉的话,可以选maven,Update Project...,问题解决。


6. (如果不喜欢现在的文件名)修改项目名称和存放路径:项目右键 -> refactor -> rename


7. 添加代码目录:

如果是MyEclipse2017,只需要在Java Build Path -> Libraries 中,把JRE System Library修改为“Workspace default JRE”就可以自动有那些目录了。



添加后,test目录也自动有了,最终的项目目录结构如下:

现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来。

一、在pom.xml中引入spring-boot-start-parent,spring官方的叫stater poms,它可以提供dependency management,也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了。

[html]  view plain  copy
  1. <parent>    
  2.      <groupId>org.springframework.boot</groupId>    
  3.      <artifactId>spring-boot-starter-parent</artifactId>    
  4.      <version>1.5.3.RELEASE</version>    
  5. </parent>  

二、需要在pom.xml中引入spring-boot-starter-web,spring官方解释spring-boot-start-web包含了spring webmvc和tomcat等web开发的特性。

[html]  view plain  copy
  1. <dependencies>    
  2.       <dependency>    
  3.           <groupId>org.springframework.boot</groupId>    
  4.            <artifactId>spring-boot-starter-web</artifactId>    
  5.        </dependency>    
  6. </dependencies>   

三、如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven的spring-boot:run的话就不需要此配置。

[html]  view plain  copy
  1. <build>    
  2.       <plugins>    
  3.             <plugin>    
  4.                 <groupId>org.springframework.boot</groupId>    
  5.                <artifactId>spring-boot-maven-plugin </artifactId>    
  6.           </plugin>    
  7.        </plugins>    
  8. </build>  

四、下面开始写程序,我们需要一个启动类,然后在启动类声明让spring boot自动给我们配置spring需要的配置,比如:@SpringBootApplication,为了可以尽快让程序跑起来,我们简单写一个通过浏览器访问hello world字样的例子:

[java]  view plain  copy
  1. @RestController  
  2. @SpringBootApplication  
  3. public class ExampleSpringBoot {  
  4.     @RequestMapping("/home")  
  5.     String home() {  
  6.         return "Hello World!";  
  7.     }  
  8.       
  9.     public static void main(String[] args) {  
  10.         SpringApplication.run(ExampleSpringBoot.class, args);    
  11.     }  
  12. }  

其中@SpringBootApplication声明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan。

@RestController返回json字符串的数据,直接可以编写RESTFul的接口。

五、运行我们的Application,我们先介绍第一种运行方式。第一种方式特别简单:右键Run As -> Java Application。之后打开浏览器输入地址:http://127.0.0.1:8080/home 就可以看到Hello world!了。
第二种方式右键project – Run as – Maven build – 在Goals里输入spring-boot:run ,然后Apply,最后点击Run。

六、运行报错
启动时报错NoClassDefFoundError: org/apache/juli/logging/LogFactory
参见下面的 解决方法
http://blog.csdn.net/a78270528/article/details/77548779

七、完整的pom.xml文件

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.bocom</groupId>  
  5.     <artifactId>maventest</artifactId>  
  6.     <packaging>war</packaging>  
  7.     <version>0.0.1-SNAPSHOT</version>  
  8.     <!-- 继承父包 -->  
  9.     <parent>  
  10.         <groupId>org.springframework.boot</groupId>  
  11.         <artifactId>spring-boot-starter-parent</artifactId>  
  12.         <version>1.5.3.RELEASE</version>  
  13.         <relativePath></relativePath>  
  14.     </parent>  
  15.     <name>maventest</name>  
  16.     <url>http://maven.apache.org</url>  
  17.     <dependencies>  
  18.         <dependency>  
  19.             <groupId>org.springframework.boot</groupId>  
  20.             <artifactId>spring-boot-starter-web</artifactId>  
  21.         </dependency>  
  22.           
  23.         <dependency>  
  24.             <groupId>junit</groupId>  
  25.             <artifactId>junit</artifactId>  
  26.             <version>3.8.1</version><!--$NO-MVN-MAN-VER$-->  
  27.             <scope>test</scope>  
  28.         </dependency>  
  29.           
  30.         <dependency>  
  31.             <groupId>org.apache.tomcat.embed</groupId>  
  32.             <artifactId>tomcat-embed-logging-juli</artifactId>  
  33.             <version>8.0.23</version>  
  34.         </dependency>  
  35.     </dependencies>  
  36.     <build>  
  37.         <finalName>maventest</finalName>  
  38.         <plugins>    
  39.                 <plugin>    
  40.                     <groupId>org.springframework.boot</groupId>    
  41.                     <artifactId>spring-boot-maven-plugin </artifactId>    
  42.                 </plugin>    
  43.             </plugins>    
  44.     </build>  
  45. </project>  

至些,我们的Spring boot项目已经搭建完成,并成功的运行了HelloWorld的项目。
使用 Spring Boot 的优势 使用 Spring Boot 开发项目,会给我们带来非常美妙的开发体验,可以从以下几个方面展开来说明 Spring Boot 让开发变得更简单 Spring Boot 对开发效率的提升是全方位的,我们可以简单做一下对比: 在没有使用 Spring Boot 之前我们开发一个 web 项目需要做哪些工作: 1)配置 web.xml,加载 SpringSpring mvc 2)配置数据库连接、配置 Spring 事务 3)配置加载配置文件的读取,开启注解 4)配置日志文件 … n) 配置完成之后部署 tomcat 调试 可能你还需要考虑各个版本的兼容性,jar 包冲突的各种可行性。 那么使用 Spring Boot 之后我们需要开发一个 web 项目需要哪些操作呢? 1)登录网址 http://start.spring.io/ 选择对应的组件直接下载 2)导入项目,直接开发 上面的 N 步和下面的2步形成巨大的反差,这仅仅只是在开发环境搭建的这个方面。 Spring Boot 使测试变得更简单 Spring Boot 对测试的支持不可谓不强大,Spring Boot 内置了7种强大的测试框架: JUnit: 一个 Java 语言的单元测试框架 Spring Test & Spring Boot Test:为 Spring Boot 应用提供集成测试和工具支持 AssertJ:支持流式断言的 Java 测试框架 Hamcrest:一个匹配器库 Mockito:一个 java mock 框架 JSONassert:一个针对 JSON 的断言库 JsonPath:JSON XPath 库 我们只需要在项目中引入 spring-boot-start-test依赖包,就可以对数据库、Mock、 Web 等各种情况进行测试。 Spring Boot Test 中包含了我们需要使用的各种测试场景,满足我们日常项目的测试需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值