SpringBoot学习之入门篇

springboot多环境配置和报错【选中prod端口不是prod】(方便生成不同环境的配置包【开发环境,测试环境,生产环境】) https://ask.youkuaiyun.com/questions/1049807?sort=id(解决问题) 1 Springboot使用Maven Profile和Spring Profile进行多环境配置 https://www.jianshu.com/p/b7c75b0c364c 2https://blog.youkuaiyun.com/zhangxiaojun211/article/details/106235920?utm_medium=distribute.pc_relevant.none-task-b. 阅读详情

经过多年的发展java的开发体系也越来越全面我们经历了从spring2.5、springMVC3X到现在的springboot,虽然开发方式发生了变化,唯一不变的是我们仍然需要坚持不懈的学习劲头和激情,不断努力不断提高,因此这次特地分享下最近学习springboot的经验,这里不会每个步骤都写的那么详细,就简明扼要的写一下

一  学习springboot需要具备的基本要求

1 对spring以及springmvc有使用经验和基础的调试能力

2 有jpa或者hibernate的使用经验

3 会使用freemarker

4 熟练使用mybatis

5 熟练使用maven

6 简单使用服务器中间件如tomcat,jboss,weblogic等


如果掌握了以上技术,springboot便能快速上手一学就会,因此springboot对程序员的综合能力还是很高的


二  下面介绍springboot的基本配置和application.properties

经过一段时间的学习我觉得springboot的特色是规约配置,也就是说springboot中规则大于配置,更多的我们需要记住里面的那些规则,如下图所示



看到这里不知道大家会不会和我一样对springboot的灵活性感到无比惊讶,关于配置文件里的众多配置大家可以查查资料,这里就不全部写出来了


三  项目创建后pom文件的写法

maven的使用就不说了,直接贴给大家一个常用的,如下所示

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.debug</groupId>
  <artifactId>usemybatis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>usemybatis</name>
  <url>http://maven.apache.org</url>

 <properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
	</properties>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.5.RELEASE</version>
	</parent>

	<dependencies>
		<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		
	</dependency>

	
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
			<scope>true</scope>
		</dependency>
	
		


		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart -->
					<fork>true</fork>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果有需要直接引入所需依赖就可以了


四 springboot的启动入口

默认情况下项目创建完毕后会生产一个叫App.java的文件,我们只需要在这个文件上加上注解以及 SpringApplication.run(App.class, args);就OK了,如下所示:

package com.debug;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        SpringApplication.run(App.class, args);
    }
}

运行也很简单,直接在这个文件右键选择Run as -->Java Application即可,如果没有问题启动会控制台会有如下显示

Hello World!
                                     .__              ___.                  __   
  _____ ___.__.   ___________________|__| ____    ____\_ |__   ____   _____/  |_ 
 /     <   |  |  /  ___/\____ \_  __ \  |/    \  / ___\| __ \ /  _ \ /  _ \   __\
|  Y Y  \___  |  \___ \ |  |_> >  | \/  |   |  \/ /_/  > \_\ (  <_> |  <_> )  |  
|__|_|  / ____| /____  >|   __/|__|  |__|___|  /\___  /|___  /\____/ \____/|__|  
      \/\/           \/ |__|                 \//_____/     \/                    
2017-09-24 13:08:13.260  INFO 10632 --- [           main] com.debug.App                            : Starting App on cry with PID 10632 (G:\stsspace\usespringboot01\target\classes started by chenwill2 in G:\stsspace\usespringboot01)
2017-09-24 13:08:13.281  INFO 10632 --- [           main] com.debug.App                            : The following profiles are active: prod
2017-09-24 13:08:13.558  INFO 10632 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@635eaaf1: startup date [Sun Sep 24 13:08:13 CST 2017]; root of context hierarchy
2017-09-24 13:08:27.815  INFO 10632 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 80 (http)
2017-09-24 13:08:27.863  INFO 10632 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2017-09-24 13:08:27.864  INFO 10632 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.11
2017-09-24 13:08:28.367  INFO 10632 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2017-09-24 13:08:28.368  INFO 10632 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 14831 ms
2017-09-24 13:08:28.613  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2017-09-24 13:08:28.621  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-09-24 13:08:28.678  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-09-24 13:08:28.678  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-09-24 13:08:28.678  INFO 10632 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2017-09-24 13:08:29.274  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@635eaaf1: startup date [Sun Sep 24 13:08:13 CST 2017]; root of context hierarchy
2017-09-24 13:08:29.413  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello/sayHello.do]}" onto public java.lang.String com.debug.HelloController.sayHello()
2017-09-24 13:08:29.415  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hi/sayHi.do]}" onto public java.lang.String com.debug.HiController.sayHi()
2017-09-24 13:08:29.420  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-09-24 13:08:29.422  INFO 10632 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-09-24 13:08:29.468  INFO 10632 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-24 13:08:29.468  INFO 10632 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-24 13:08:29.539  INFO 10632 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-24 13:08:29.802  INFO 10632 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-09-24 13:08:30.553  INFO 10632 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 80 (http)
2017-09-24 13:08:30.558  INFO 10632 --- [           main] com.debug.App                            : Started App in 19.18 seconds (JVM running for 21.845)


五 controller的写法大致如下

package com.debug;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

	@RequestMapping("/hello/sayHello.do")
	public String sayHello() {
		return "Hello Spring Boot!";
	}
	
}

@RestController类似@Controller加@RequestMapping的用法,如果是web开发使用springmvc的那套就是@Controller加@RequestMapping会比较方便,类似webservice的数据交互使用@RestController比较方便

从浏览器输入url后运行效果如下




至此第一个springboot程序就写完了

备注:开发工具我使用的是spring tool suite, jdk是1.8的版本


利用Matlab高效处理Comsol仿真数据的可视化技巧 本文详细介绍了如何将Comsol仿真数据高效导入Matlab并进行专业可视化与后处理。核心内容包括正确的数据导出格式设置、三维矩阵重构方法、二维截面与三维体渲染技巧,以及基于Matlab的定量分析与批处理自动化流程,帮助工程师和科研人员深度挖掘仿真数据价值,提升工作效率。 阅读详情

相关推荐

STM32读取BQ40Z50的数据

TI电池管理芯片BQ40Z50,通信协议是SMBUS,类似IIC,速率要求10-100KHz   用的STM32F103的硬件IIC读取电池的各种数值,源代码如下: ​ #include "iic.h" #include "stdio.h"  //***************************************************** // IIC2初始化函数:初始化ST...

百步登峰的博客 1万+

如何在调试、编译或运行spring boot时,来实现切换不同的运行环境

在pom.xml文件当中可以通过配置mavenprofile属性,来实现切换不同的运行环境 1、首先创建properties文件或yml文件,命名参考如下,application-dev.properties、application-qa.properties、application-prod.properties分别代表开发、测试、生产环境的配置,然后还要创建一个application.properties用来控制切换环境 2、application.properties内容如下,代表选取当前生.

小马的专栏 888

RTL8306MB交换芯片驱动开发避坑指南:从硬件接线到SDK移植全流程解析

本文详细解析了RTL8306MB交换芯片驱动开发的全流程,重点从硬件接线、SDK移植到实战调试。针对RMII模式下的常见问题,特别是TXEN与RXDV信号交叉连接等关键“坑点”,提供了清晰的排查指南和解决方案,旨在帮助嵌入式工程师高效完成网络设备开发。

277

【Spring Boot课程】3.Spring Boot的配置

1 yaml简介 1.1 基本语法 k:(空格)v: 表示一对键值对(空格必须有) 以空格的缩进来控制层级关系;只要是做肚脐的一列数据,都是同一个层级的。 server: port: 8081 path: /hello 属性和值都是大小写敏感的。 1.2 值的写法 1.2.1 字面量 1.2.1.1 普通的值(数字、字符串、布尔) k:v;字面量直接来写,字符串不需要加上丹壹号或者双引号...

浮生九记 404

西工大noj100题python2024第三季21-30

【代码】西工大noj100题python2024第三季21-30。

weixin_70523540的博客 1576

【AI落地】AI生成测试用例,claude or gpt?(提效至少 50%)

gpt生成测试用例?当然好使啦,用好了提效50%+,用不好就让他变好!

青禾tester 1967

Spring Boot 2(1)

对于这样的调整,最直观的感受就是选择环境的时候,我不需要往下找有哪些profile就能知道有哪些可选项了,还是方便不少。来引入其他配置信息,这里模拟一下一个是dev的db配置,一个是dev的mq配置。而这次分组的配置改变,让激活配置、环境配置集中到了默认配置里,其他的profile定义是环境+配置分组的组合内容。可以看到,在2.4版本的配置中,不同环境的配置定义都在第一段默认配置中了,所有的环境定义都转移到了。中提到的多环境配置,是不是不同环境的配置标识都集中定义在了每个。的key字段(上面配置了。

2501_90252584的博客 955

从零到一:构建嵌入式Arm-Linux的Qt MQTT通信框架全指南

本文详细指导如何在嵌入式Arm-Linux平台上从零构建Qt MQTT通信框架,涵盖交叉编译、环境配置、依赖库管理及性能优化。重点针对32位Arm架构,提供完整的工具链配置、编译步骤和实战部署方案,适用于物联网和工业控制等场景。

w8x9y0z1的博客 1000

SpringBoot项目中无法激活profile

解决springboot中无法激活profile

weixin_44023129的博客 3066

从静态到动态:如何用Deformable 3DGS和4DGS实现高效动态场景建模

本文深入探讨了Deformable 3DGS和4DGS在动态场景建模中的技术突破,详细解析了这两种方法如何高效处理动态内容。Deformable 3DGS通过引入时间维度的变形场扩展传统3DGS,而4DGS则采用四维时空体素分解方法,两者均显著提升了动态场景建模的效率和质量,适用于虚拟现实、增强现实等应用场景。

weixin_29063035的博客 433

85-Halcon-- gen_cam_par_area_scan_division 函数功能(生成面阵相机镜头参数)

Halcon的gen_cam_par_area_scan_division算子用于生成面阵相机的镜头参数,支持除法畸变模型。该算子输出包含9个参数的元组,包括焦距(Focus)、畸变系数(Kappa)、像素尺寸(Sx,Sy)、主点坐标(Cx,Cy)和图像尺寸。文中详细解析了各参数含义、数学原理(包括畸变矫正公式和坐标转换),并提供了三个工业应用案例:高精度芯片尺寸测量、机器人焊接引导和大视野汽车表面检测。最后给出了完整的相机标定流程,涵盖参数生成、畸变校正和标定配置步骤,适用于工业视觉系统的精确标定需求。

weixin_45590420的博客 915

《springboot学习》一 spring boot入门篇

1.准备 jdk 1.8 Eclipse Mars Spring boot 2.0.4 Maven 3.3.3 2.技术要求 需要对spring、spring mvc、mbatils、maven有一定的了解。 3.配置STS 建议使用idea编辑器(idea可省略该步骤),如果配置查看如下博客,这里不过多阐述。 https://blog.youkuaiyun.com/qq_16855077/...

程序猿学社的博客 2142

SAPFiori Elements Analytical List Page 概述

ALP(Analytical List Page)是SAP Fiori提供的一种复合页面类型,结合了分析(图表/KPI)与事务(表格/操作)功能,适用于需要分析后立即执行处理的业务场景(如采购价格监控、销售逾期处理等)。其核心价值在于让用户在同一页面完成从数据洞察到事务处理的闭环,减少应用切换带来的效率损耗。 页面结构包含页头KPI标签、交互式图表和明细表格,通过联动过滤、选择同步等机制实现数据钻取与即时操作。支持标准过滤和可视化过滤,并依赖OData注解(SelectionVariant/Presenta

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 268

SpringBoot 学习——入门篇

参考博客:Spring Boot干货系列:(一)优雅的入门篇 项目结构 pom.xml:Maven构建说明文件。 Chapter1Application.java:一个带有main()方法的类,用于启动应用程序(关键)。 Chapter1ApplicationTests.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文...

Ni_liqiang的博客 234

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SpringBoot学习 快速入门篇

1,前言:这篇学习SpringBoot的入门文章是我在Spring官网(http://spring.io/guides/gs/rest-service/)上学习之后的及时梳理、总结,以期巩固自己所学的、加深自己对它的理解,希望对大家也能有所帮助。2,总体步骤:总的来说,创建一个入门式的SpringBoot项目非常简单,只需要:2.1,在eclipse中创建一个maven项目(我是使用eclipse...

xlat94的博客 364

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringBoot学习总结(1)之SpringBoot入门篇

一、SpringBoot概述 Spring 框架对于很多 Java 开发人员来说都不陌生。自从 2002 年发布以来,Spring 框架已经成为企业应用开发领域非常流行的基础框架。有大量的企业应用基于 Spring 框架来开发。Spring 框架包含几十个不同的子项目,涵盖应用开发的不同方面。如此多的子项目和组件,一方面方便了开发人员的使用,另外一个方面也带来了使用方面的问题。每个子项目都有一定...

jokeMqc的博客 1104

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

springboot 学习网址入门篇

入门篇https://www.cnblogs.com/moonlightL/p/7891803.html

此博客内容主要是小可日常工作中的一些问题解决的记录整理而成 207

Springboot学习笔记(一) - 入门篇

Springboot学习笔记

weixin_44944722的博客 391

学习笔记-Spring Boot入门篇

入门 Spring Boot四个核心 自动配置 起步依赖 命令行界面 Actuator 在IntelliJ IDEA里创建Spring Boot项目 New > Project > 不断的Next > Finish 最后得到来一个空的Spring Boot项目 如上图,项目中有不少文件 主要的应用程序代码位于src/main/java目录里 资源都在src/ma...

藿香正气的博客 183

【系统学习SpringBoot】springBoot 入门篇

学了spring boot感觉 ,和springMVC在许多地方还是时分相似的,,请求处理都是使用@RequestMapping注解,但是启动方式上有很大不同,, springMVC是web项目,需要通过tomcat进行启动 springBoot则类似应用程序,使用main进行启动(SpringApplication.run()),哈哈这是表象,看了这个日志,才知道,springboot也是通过

小鼠标的博客 915

SpringBoot学习笔记1-入门篇

目录 前言 一.Spring Boot的目标 二. Spring Boot的系统要求 三.Spring Boot的安装 四.Spring Boot的更新 五.使用Spring Boot开发 1. 依赖管理 2. 代码构建之主程序应用程序类 3. 配置类 六.运行Spring Boot程序 七.开发者工具-Developer Tools 1. 默认属性值中的缓存 2. 自动重启 前言 以spring官方文档为基础,官方地址:https://spring.io/pro...

hahalan的博客 376

Spring-Boot 学习系列(一)入门篇

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. 上面那段话的意思是“SpringBoot使创建独立的、生产级的、基于Spring的应用程序变得容易,您可以“只运行”。” 这句话说明了spring-boot的实质...

半拾 377

Spring Boot入门篇,动力节点学习笔记整理

什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。 如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应用程序服务器,添加spring配置。 因此,开始一个新的spring项目需要很多努力,因为我们现在必须从头开始做所有事情。 Spring Boot是解决这个问题的方法。Spring Boo

weixin_54585403的博客 460

Spring Boot学习笔记-入门篇

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Boot对Spring应用的开发进行了简化,提供了模块化方式导入依赖的能力,

Ricky 1288

Spring boot学习1 构建微服务:Spring boot 入门篇

 Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的ja...

weixin_33859231的博客 107

springboot学习(一):初识SpringBoot(入门篇)

什么是SpringBoot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 简单的说,spring ...

sunon_的博客 425
上一篇: git的使用
下一篇: 微信开发的Http或Https常用工具类
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值