springboot controller访问不到_Spring Boot 开篇:快速入门
背景
想想之前搭建一个WEB项目,不管项目的功能简单或复杂,都需要哪些步骤:
- 配置 web.xml,加载 Spring 和 Spring mvc
- 配置数据库连接、配置 Spring 事务
- 配置加载配置文件的读取,开启注解
- 配置日志文件
- …
- 配置完成之后部署 Tomcat 调试
- …
对于很多新手来说,很多配置还有很多问题,并不能一次成功
那 springboot 有什么优点呢?
核心理念:开箱即用,快速启动
它使用“约定优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
约定优于配置
也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。本质是说,开发人员仅需规定应用中不符约定的部分。
从本质上来说,Spring Boot就是Spring,它只是做了一些对Spring Bean的默认配置。有了SpringBoot只需要几个配置就可以搭建一个web项目!使用 Spring Boot 到底有多爽,用下面这幅图来表达
快速入门
创建 Maven 工程
这里介绍使用 IDEA 来创建项目
- Create New Project
- 左边选项框选择 Maven
- 填写相关内容后,一路 Next
- 最后确定信息无误点击Finish,OK done!
官方建议项目结构
myproject
+-src+- main+- java+- com.example.myproject+- comm+- model+- repository+- service+- web+- Application.java+- resources+- static+- templates+- application.properties+- test
+-pom.xml
Application.java
建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个main()
方法;comm
目录建议放置公共的类,如全局的配置文件、工具类等;model
目录主要用于实体(Entity)与数据访问层(Repository);repository
层主要是数据库访问层代码;service
层主要是业务类代码;web
层负责页面访问控制,即controller
或handler
。static
目录存放 web 访问的静态资源,如 js、css、图片;templates
目录存放页面模板;application.properties
存放项目的配置信息。
pom.xml
引入依赖
首先,以 parent 引入 SpringBoot
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.7.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent>
然后,引入 web 依赖
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>
配置文件
默认读取 classpath 下的 application.properties
或 application.yml
,推荐使用 yml 文件格式。
建议配置多个不同环境的文件,只需两步:
- application.yml 文件中配置 ,
dev
表示开发环境,prod
表示生产环境,命名规则根据个人或公司而定;
spring:profiles:active: dev
- 创建
application-dev.yml
,该文件内配置一些不同环境的配置。
创建启动类 HelloApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class HelloApplication {public static void main(String[] args) {SpringApplication.run(CsttApplication.class, args);}
}
右键 Run HelloApplication.java 即可启动。
访问处理
创建 controller
@RestController
public class HelloWorldController {@RequestMapping("/hello")public String index() {return "Hello World";}
}
@RestController
的意思就是 Controller 里面的方法都以 json 格式输出,不用再写什么 jackjson 配置的了!启动主程序,打开浏览器访问 http://localhost:8080/hello
,就可以看到效果了。
springboot controller访问不到_Spring Boot 开篇:快速入门相关推荐
- springboot static访问不到_Spring Boot 的静态资源处理
黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Python开发点击右侧关注,探讨技术话题! 作者 | liuxiaopeng 来源 | cnblogs.com/ ...
- Spring Boot的快速入门
Spring Boot的快速入门 1.导入第一个maven项目 自动生成maven项目 2.了解maven项目结构 3.启动服务 和普通maven项目结构是一样的,值得注意的是,启动服务的入口是 ![ ...
- springboot controller访问不到_构建微服务:快速搭建Spring Boot项目
Spring Boot简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...
- Spring Boot【快速入门】
Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Sp ...
- Spring Boot JWT 快速入门
本章节讨论 jwt 在 spring boot 中的应用.意在快速入门 jwt. java jdk1.8 maven 3.2+ spring boot 2.0+ JSON Web Token(JWT) ...
- springboot传入json和文件_Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)...
server: port: 8088 servlet: context-path: /sid spring: mvc: view: prefix: / suffix: .html /** * 返回界面 ...
- springboot定时发送短信_spring boot 1.5.4 定时任务和异步调用(十)
1Spring Boot定时任务和异步调用 我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. sp ...
- springboot 事务手动回滚_Spring Boot中的事务是如何实现的
1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...
- springboot oauth2登录成功处理器_Spring Boot Security 整合 OAuth2 设计安全API接口服务...
简介 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版.本文重点讲解Spring Boot项目对OAuth2进行的实现,如果你对OAut ...
最新文章
- Centos7安装Nginx详细步骤
- 时区切换导致quartz定时任务没有触发问题
- CodeSmith实用技巧(十四):使用Progress对象
- Linux系统介绍(二)文件系统结构
- Python+selenium 自动化-chrome页面静止、冻结技术,获取web动态页面的Xpath方法,查看浏览器动态dom节点
- ASP.NET MVC: 使用自定义 ModelBinder 过滤敏感信息
- 为什么我们要升级到 iOS 12.1.3?
- css 单位之px , em , rem
- 【转载】shell中EOF的用法
- 蓝牙模块HC-06的基本设置和他的AT指令集
- 超分算法之SRCNN
- 多个jdk共存与切换
- IDEA设置鼠标滚轮控制缩放大小
- ept技术_EPT与VPID
- xcode 软件˙∆集~
- 如何把一张图片调整为另一张图片大小,不变形
- 盘一盘 Python 系列 - SciPy
- Word UVA - 517 状态压缩 暴力搜索
- Python实现文本替换
- 基于Simulink融合IMU传感器数据(附源码)
热门文章
- c语言dfs算法,DFS算法源程序
- python爬取网页内容requests_[转][实战演练]python3使用requests模块爬取页面内容
- C++ static、const和static const类型成员变量声明及其初始化
- Docker镜像导致centos-root根分区容量爆满
- 用POLARDB构建客到智能餐饮系统实践
- SylixOS中AARCH64跳转表实现原理
- 搭建一个舒心高效的windows + shell 工作环境
- 写得蛮好的linux学习笔记五-认识SHELL(收藏)
- 前端清单之Vue.js篇
- C#2.0 Socket套接字编程之实例初探 200