spring boot 第一章

一、spring boot的优点

1.为所有Spring开发者更快的入门

2.开箱即用,提供各种默认配置来简化项目配置

3.内嵌式容器简化Web项目

4.没有冗余代码生成和XML配置的要求

二、创建maven项目及相关配置

  1. 通过SPRING INITIALIZR工具产生基础项目

    1. 访问:http://start.spring.io/
    2. 选择构建工具Maven Project、Spring Boot版本1.3.2以及一些工程基本信息,可参考下图所示

    1. 点击Generate Project下载项目压缩包

             2.解压项目包,Maven项目导入,以MyEclipse为例,

               (1)点击 【file】–> 【import】 –> 【输入maven】 –> 【Existing Maven Projects】如图:

                

                            

            本文采用JDK1.8、spring boot 1.5.10.RELEASE

在myEclipse中添加JDK1.8,把项目的java build改成和项目一致

3.引入web模块

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • 创建HelloController类,内容如下
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

spring boot无法启动,或者正常启动之后无法访问报404的解决办法

   前言    

   以前用spring boot都是用idea的自动创建,或者是用的Jhipster创建的,就没有深究怎么去搭建。但是今天晚上心血来潮,想自己搭一个demo来整合一些技术,于是就花一点时间来手动搭。因为今天网络有点不好,所以spring boot的官网一直打不开,也就导致了无法阅读官方文档,就按照自己的记忆去搭于是遇到了以下两个问题

   正文

    如果已经引入了spring boot 的包 :

1
2
3
4
5
6
7
8
9
10
<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.4.2.RELEASE</version>
</parent>
 
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>

  

1 如果启动失败,一直报错,是有可能 你的启动类直接放在了 src.java.main 下面 ,这是错误的,你需要将您的启动类放在 src.java.main.* 以下 例如 src.java.main.com.dai.test 下面
2 如果启动成功,但是却访问不了你自己写的controller,报404错误,那么原因就是您写的controller没有被spring 容器扫描到
  解决方案:  spring boot 默认扫描您的类是 在启动类的当前包 和 下级包 。比如: 您的启动类(TestStart.java)在 com.dai.test 下(com.dai.test.TestStart.java) 那么spring 会扫描 com.dai.test 
  和 com.dai.test.*  如果你的controller(TestController.java)没有放在com.dai.test或者com.dai.test.* 下的话,就不会被扫描到,就会发生404错误.
  还有一种解决方案是 ,配置spring 扫描路径
  在启动类的上面添加   @ComponentScan(basePackages = {"com.dai.*"}),这配您的controller所在的包  

 ×××××再放一个了××××解决404问题,通过spring的log去看(这个方法主要检测是不是你的路径配错了,用于查看代码是否有问题)
在spring boot的启动log里面,有一个RquestMappingHandlerMapping 的log,你们具体可以看看你们写的controller有没有被mapping

s.w.s.m.m.a.RequestMappingHandlerMapping :

Mapped "{[/consumer/user/getUser],methods=[POST]}" onto public com.dai.cloud.response.UserResponse com.dai.cloud.consumer.controller.UserController.getUser(java.lang.String)

这个就是一个log的demo ,意思就是已经将

public com.dai.cloud.response.UserResponse com.dai.cloud.consumer.controller.UserController.getUser(java.lang.String) 

这个方法 mapping 到了 /consumer/user/getUser这个 POST路径。 你们可以检查下看看你们有没有对应的log

猜你喜欢

转载自blog.csdn.net/siyi1219/article/details/79695695