SpringBoot 入门

本文介绍SpringBoot的基础概念,包括其简化开发流程、提高生产力的优势,以及如何通过最小配置创建独立的Spring应用程序。涵盖SpringBoot启动器、项目结构、环境配置、随机端口设置、Thymeleaf模板引擎使用、跨域资源共享CORS处理和国际化支持等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、SpringBoot是什么?

Spring Boot为Java开发人员提供了一个很好的平台,可以开发一个可以运行的独立和生产级Spring应用程序。可以开始使用最少的配置,而无需进行整个Spring配置设置。

2、优点

Spring Boot为其开发人员提供以下优势 -
    易于理解和开发Spring应用
    提高生产力
    缩短开发时间

3、目标

Spring Boot的设计目标如下 -
    避免在Spring中进行复杂的XML配置
    以更简单的方式开发生产就绪的Spring应用程序
    减少开发时间并独立运行应用程序
    提供一种更简单的应用程序入门方式

4、SpringBoot启动器

所有Spring Boot启动程序都遵循相同的命名模式spring-boot-starter-*,其中*表示它是应用程序的一种类型。

5、SpringBoot入口

Spring Boot Application的入口点是包含@SpringBootApplication注释的类。该类应具有运行Spring Boot应用程序的主要方法。 
@SpringBootApplication注释包括自动配置,组件扫描和Spring Boot配置。 如果将@SpringBootApplication批注添加到类中,则无需添加@EnableAutoConfiguration,@ComponentScan和@SpringBootConfiguration批注。@SpringBootApplication注释包括所有其他注释。 请注意以下代码以便更好地理解
- import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

6、Maven依赖

对于Maven配置,应该继承Spring Boot Starter父项目来管理Spring Boot Starters依赖项。 因此只需在pom.xml 文件中继承启动父级,如下所示。
<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.5.8.RELEASE</version>
</parent>
XML

应该指定Spring Boot父 Starter依赖项的版本号。 然后,对于其他启动器依赖项,不需要指定Spring Boot版本号。 观察下面给出的代码 -
<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
</dependencies>

7、SpringBoot项目结构

com
    +- abysm
        +- myproject
            +- SpringBootApplication.java      (入口,规定和其他包同级目录|
            +- model
            |    +- Product.java
            +- dao
            |    +- ProductRepository.java
            +- controller
            |    +- ProductController.java
            +- service
            |    +- ProductService.java

SpringBootApplication.java文件应该声明main方法和@SpringBootApplication。 请遵守下面给出的代码以便更好地理解 -

package com.abysm.myproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootApplication{
   public static void main(String[] args) {
    SpringBootApplication.run(Application.class, args);
  } }

8、配置不同环境的yml配置文件

Spring Boot项目开发部署过程中,通常会有多套环境(开发dev、测试test、预生产rc,生产pro),每套环境的配置是不同的。
将所有环境共同的参数配置在同一个文件中;再将每套环境不同的参数配置在各自文件中,可以减少部署错误的概率,同时项目可读性好, application.yml 配置共同的参数,并确定当前运行环境
spring: 
  profiles:
    active: dev

这里的spring.profiles.active=dev即表示,当前是dev环境;application-{profile}.yml就对应application-dev.yml,{profile}的取值可以是dev, test, rc, pro

application-dev.yml

server: 
  port: 8080
 
spring:
  profiles: dev
  datasource:
    name: test
    url: jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
    username: root
    password: root
    # 使用druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    filters: stat
    maxActive: 20
    initialSize: 1
    maxWait: 60000
    minIdle: 1
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: select 'x'
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxOpenPreparedStatements: 20

 9、配置随机端口

在application.properties 文件中,server.port属性设置随机端口号:
  server.port = 0

在application.yml 文件中,找到如下内容 -
  server: 
     port: 0- 如果启动Spring Boot应用程序时server.port指定值为0,则Tomcat使用随机端口号。

10、使用thymeleaf模板引擎

Thymeleaf将文件转换为格式良好的XML文件。它包含6种类型的模板,如下所示 -

  • XML
  • 有效的XML
  • XHTML
  • 有效的XHTML
  • HTML5
  • 旧版HTML5

除旧版HTML5之外的所有模板都指的是格式正确的有效XML文件。 旧版HTML5允许我们在网页中呈现HTML5标记,包括非封闭标记。

package com.abysm.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class WebController {
   @RequestMapping(value = "/index")
   public String index() {
      return "index";
   }
}
在上面的示例中,请求URI是/index,被重定向到index.html文件。 请注意,index.html 文件应放在templates目录下所有JS和CSS文件应放在static目录下

 Maven用户可以将以下依赖项添加到pom.xml 文件中 -

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

11、跨域资源共享CORS

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。

所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

http://www.123.com/index.html 调用 http://www.123.com/server.PHP (非跨域)

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php(子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html调用 http://www.123.com:8081/server.php(端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php(协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

在控制器方法中启用CORS

 
  

需要通过对控制器方法使用@CrossOrigin注解来设置RESTful Web服务的起源。 @CrossOrigin注源支持特定的REST API,而不支持整个应用程序。

@RequestMapping(value = "/products") @CrossOrigin(origins = "http://localhost:8080") public ResponseEntity<Object> getProduct() { return null; } 

全局CORS配置

需要定义显示的@Bean配置,以便为Spring Boot应用程序全局设置CORS配置支持。

@Bean
public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/products").allowedOrigins("http://localhost:9000"); } }; } 

 12、SpringBoot国际化

国际化是一个使应用程序适应不同语言和区域而无需对源代码进行工程更改的过程。 用它来说,国际化是对本地化的准备。

消息源

默认情况下,Spring Boot应用程序从类路径下的src/main/resources文件夹中获取消息源。 缺省语言环境消息文件名应为message.properties,每个语言环境的文件应命名为messages_XX_XX.properties“XX”表示区域代码和国家代码。

应将所有消息属性设置为键值对。 如果在语言环境中找不到任何属性,则应用程序将使用messages.properties 文件中的默认属性。

默认的messages.properties 如下所示 -

welcome.text=Hi Welcome to Everyone

中文对应的属性文件:message_zh_CN.properties 如下所示 -

welcome.text=大家好

HTML文件

在HTML文件中,使用语法#{welcome.text}显示属性文件中的消息。

<h1 th:text = "#{welcome.text}"></h1>

 

转载于:https://www.cnblogs.com/wangzh1guo/p/9967402.html

Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它提供了一种简化的方法来配置和部署应用程序,使开发人员能够更快地开发和运行应用程序。 Spring Boot Actuator是Spring Boot的一个组件,它可以帮助我们监控和管理Spring Boot应用程序,包括健康检查、审计、统计和HTTP追踪等功能。要使用Spring Boot Actuator,只需引入相应的起步依赖,并在应用程序的入口点类上添加@SpringBootApplication注解即可。在该类中,使用@SpringBootApplication注解相当于同时添加了@Configuration、@EnableAutoConfiguration和@ComponentScan注解,它标识了当前应用程序是一个Spring Boot应用程序。要启动Spring Boot应用程序,只需在主启动类中编写main函数,通过调用SpringApplication.run(Application.class, args)方法来启动应用程序。在开发过程中,<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringBoot入门](https://blog.youkuaiyun.com/weixin_45905210/article/details/121712027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [spring boot 入门](https://blog.youkuaiyun.com/zhshx19900318/article/details/129476812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值