用IDEA 来写第一个Springboot程序以及欢乐的避坑指南
上一篇文章我们安装了JDK安装、配置, Idea配置实现第一个小程序HelloWorld配置好了基本环境,下面开始升级新建第一个Springboot项目
1:IDEA点击file---new---project
在左侧菜单找到并点击 Spring Initializr,点击next。注意,这里idea默认使用https://start.spring.io提供的在线模板,所以需要保证网络畅通。
没网的话就需要在本地搭建spring Initializr服务器,这里不做讨论
2:选择对应的type类型和与自己安装的jdk版本对应的java version,点击next
3:选择springboot版本,然后左侧选择大类,然后在窗口中间勾选需要的依赖。右边可以看到已选择的依赖项。
4:终于,最后一步了。设置项目名称Project name 和 工程保存路径 Project location。完成后,点击 Finish。
5:项目结构目录图如下所示
6:开始编写万能的hello程序吧
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@EnableAutoConfiguration
public class DemoApplication {
@RequestMapping(value ="/home", method = RequestMethod.GET)
@ResponseBody
public String home(){
return "你好,Spring Boot1111";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
7:运行程序,访问http://localhost:8080/home
又到了最快乐的避坑环节,是不是运行过程中的各种坑让你怀疑人生,别人的都可以,为什么偏偏宝宝就不行 TM~
坑1:运行时报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded
分析一下:上面的描述是说没有配置数据源,未能确定合适的驱动程序类
原因:因为我在pom文件中添加了mybatis依赖,但是我没有配置连接数据库的url、用户名user 、和密码 password
解决办法:修改项目resources文件夹中的application.properties,配置数据库链接信息
spring.datasource.url=jdbc:mysql://localhost:3306/bookstore?serverTimezone=UTC&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
注:bookstore为数据库名,用户名,密码都改为自己的mysql信息。
坑2:访问http://localhost:8080/home时报错
Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.
原因:出现这个异常说明了跳转页面的url无对应的值,或者类没有配置controller注解
解决办法:修改代码添加@Controller注解
@Controller
@EnableAutoConfiguration
public class DemoApplication {
@RequestMapping(value ="/home", method = RequestMethod.GET)
@ResponseBody
public String home(){
return "你好,Spring Boot1111";
}
上一篇: 探讨:innodb与myisam在存储上有何特点和区别
下一篇: 51单片机第七讲(串口)