2025年springboot应用服务器(springboot server.port)

springboot应用服务器(springboot server.port)一 入门 1 简介 Spring Boot 是一个简化 Spring 开发的框架 用来监护 spring 应用开发 约定大于配置 去繁就简 just run 就能创建一个独立的 产品级的应用 乐字节 我们在使用 Spring Boot 时只需要配置相应的 Spring Boot 就可以用所有的 Spring 组件 简单的说 spring boot 就是整合了很多优秀的框架

大家好,我是讯享网,很高兴认识大家。



一、入门

1.简介

Spring Boot是一个简化Spring开发的框架。用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用。乐字节。

我们在使用Spring Boot时只需要配置相应的Spring Boot就可以用所有的Spring组件,简单的说,spring boot就是整合了很多优秀的框架,不用我们自己手动的去写一堆xml配置然后进行配置。从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。

2.优点

3.单体应用与微服务

单体应用是把所有的应用模块都写在一个应用中,导致项目越写越大,模块之间的耦合度也会越来越高。微服务是一种架构风格,用微服务可以将应用的模块单独部署,对不同的模块进行不同的管理操作,不同的模块生成小型服务,每个功能元素最后都可以成为一个可以独立替换、独立升级的功能单元,各个小型服务之间通过http进行通信。

4.Spring Boot的核心特点

·微服务:

使用Spring Boot可以生成独立的微服务功能单元

·自动配置:

针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置

·起步依赖:

告诉Spring Boot需要什么功能,它就能引入需要的库。

·命令行界面:

这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。

·Actuator:

让你能够深入运行中的Spring Boot应用程序。

5.简单案例:使用maven创建HelloWorld项目

第一步:首先要配置Spring Boot 依赖

<parent><groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent>Spring Boot的版本仲裁中心;以后我们导入依赖默认是不需要写版本。(没有在dependencies里面管理的依赖自然需要声明版本号) <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>

spring-boot-starter-web:

spring-boot-starter:spring-boot场景启动器。帮我们导入了web模块正常运行所依赖的组件。

Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter 相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器

·第二步:新建包结构如下图

·第三步:编辑相对应的类代码

·HelloController.java

@RestController//标注是一个Controller类 并且支持json数据格式输出public class HelloController { //通过 http://localhost:8080/sayHello访问该方法 @RequestMapping("/sayHello") public String hello(){ return “hello world”; } }

·MainTest.java

@SpringBootApplication//代表springboot的启动类 用来标注主程序类 说明是一个springboot应用public class MainTest { public static void main(String[] args) { //将springboot应用驱动起来 SpringApplication.run(MainTest.class); } }

·第四步:运行main方法

运行main方法,等到自动部署服务器完成,然后通过地址就可以访问到相应的数据。

6.案例解析—相应的问题

·为什么只配置一个Spring Boot依赖:

·AutoConfigurationPackage:

自动扫描问题@ SpringBootApplication标记的主类,在主类所在包或者所在的子包下面找相应的控制类,然后根据相应的注解自动配置相应的项目所需的bean

注意创建Spring Boot时注意网络连接的问题,保持网络畅通。点击New File,选择Project选择Spring Initializr,加载完成后查看相应的JDK版本是否合适,确保后点击next

设置项目的GroupID和Artifact。选择相应的语言和要生成的jar包或者war包以及JDK版本

勾选创建项目所需要的依赖,比如数据库,web等依赖,这里我们简单的介绍,不做具体的详解,就选择一个web依赖

选择完毕后,点击finish完成新建项目等待项目新建完成。

创建完毕后,保持创建的结构是这个形式即可。

创建项目完毕后,根据上面的案例简单的创建一个项目测试一下,测试通过即可。

使用Spring Boot配置文件首先需要有JavaBean类,然后才能在相应的配置文件中为javabean中的属性赋值

想要向JavaBean类中赋值,需要在javabean的类中添加相应的注解@Component和@ConfigurationProperties(prefix = “person”)。@Component将类添加进容器,@ConfigurationProperties配置文件中的数据注入到类中

· Dog.java

public class Dog {private String name; private String age;}

· Person.java

/

* 将配置文件中配置的每一个属性的值,映射到这个组件中

* @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;

* prefix = “person”:配置文件中哪个下面的所有属性进行一一映射

* 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;

/


讯享网

@Component@ConfigurationProperties(prefix = “person”) public class Person { private String name; private Integer age; private Boolean sex; private Date birthday; private List<String> list; private Map<String,Object> map;private Dog dog;}

·配置文件:

配置文件名是固定的 application.properties 或application.yml

·配置文件的作用:

修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好。

·application.properties详解

示例:

#设置端口号为9999 server.port=9999

在application.properties中配置相应的属性之后,重新运行项目,发现服务器的端口启动号变成了9999,证明该段代码可以修改默认的8080端口。

· application.properties

person.age=80 person.birthday=2019/02/5 person.list=a,b,c person.name=旺财 person.sex=false person.map.v1=k1 person.map.v2=k2 person.dog.name=jjj person.dog.age=6

注意:在使用application.properties文件向配置文件可能会出现乱码,注意改变编码格式为UTF-8

·application.yml详解

·1.YAML文件详解

(1) YAML文件定义:

YAML(YAML Ain’t Market Language)语言文件,以数据为中心,比json、XML等文件更加适合做配置文件

(2) YAML文件的基本语法:

1. 使用缩进表示层级关系

2. 缩进时不允许使用Tab键,只允许使用空格

3. 缩进的空格的数目不重要,只要相同层级的元素左对齐即可

4. 大小写敏感

(3) YAML的值的写法:

1. k: v:字面直接来写;

2. 字符串默认不用加上单引号或者双引号;

3. “”:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思

4. name: “zhangsan lisi”:输出;zhangsan 换行 lisi

5. ‘’:单引号;会转义特殊字符,特殊字符终只是一个普通的字符串数据

6. name: ‘zhangsan lisi’:输出;zhangsan lisi

(4) YAML支持三种数据格式:对象,数组,基本数据类型

·2.YAML的常用写法示例

· application.xml

person:name: 张三 age: 20 sex: false birthday: 2019/01/11 list: - a - b map: -k1: v1 -k2: v2 -dog: {name: ww,age: 12} dog: name: ww age: 2

相应的配置文件和类编写完毕后,编辑测试类,运行,测试通过。

9.Spring Boot中的特殊注解

这里就讲解几个常用的注解吧,毕竟时间有限,大家可以到网上查一下,具体的注解

@SpringBootApplication注解分析

@SpringBootApplication是一个复合注解,包括@ComponentScan,@SpringBootConfiguration,@EnableAutoConfiguration。

1.@SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。

2.@EnableAutoConfiguration的作用启动自动的配置。

3.@EnableAutoConfiguration注解的意思就是Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置。在下面博客会具体分析这个注解,快速入门的demo实际没有用到该注解。

4.@ComponentScan,扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。是以前的<context:component-scan>(以前使用在xml中使用的标签,用来扫描包配置的平行支持)。所以本demo中的User为何会被spring容器管理

@ResponseBody

表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@esponsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用

@Controller

用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping

@RestController

用于标注控制层组件(如struts中的action),@ResponseBody和@Controller的合集。

@Service

一般用于修饰service层的组件

@Repository

使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

@Bean

用@Bean标注方法等价于XML中配置的bean。

@Value

注入Spring boot application.properties配置的属性的值。

此文章转自乐字节。

小讯
上一篇 2025-05-24 21:59
下一篇 2025-05-22 07:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199506.html