您的位置:首页 > 房产 > 家装 > 建筑网课平台哪个好_com域名注册1元_无安全警告的浏览器_做网站建设优化的公司排名

建筑网课平台哪个好_com域名注册1元_无安全警告的浏览器_做网站建设优化的公司排名

2024/10/6 2:30:27 来源:https://blog.csdn.net/2303_77640525/article/details/142532574  浏览:    关键词:建筑网课平台哪个好_com域名注册1元_无安全警告的浏览器_做网站建设优化的公司排名
建筑网课平台哪个好_com域名注册1元_无安全警告的浏览器_做网站建设优化的公司排名

目录

一.SpringBoot的概述

二.SpringBoot 特点

三.SpringBoot 的核心功能

3.1起步依赖

3.2自动配置

四.SpringBoot 开发环境构建

五.SpringBoot 配置文件

六.SpringBoot数据访问管理

七.springboot注解

八.springboot集成mybatis

九.springboot全局异常捕获与处理


一.SpringBoot的概述

        Spring Boot 是由 Pivotal 团队提供的在 spring 框架基础之上开发的框架,其设计目的是用来简化应用的初始搭建以及开发过程
        SpirngBoot 本身并 不提供 Spring 框架 的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。
        Spring Boot 以 约定大于配置(程序界的规定大于配置文件) 的核心思想,从而使开发人员不再需要定义样板化的配置。它集成了大量常用的第三方库配置(例如 Redis,Jpa RabbitMQ,Quartz 等等),SpringBoot 应用中这些第三方库几乎可以零配置的开箱即用,通过这种方式,SpringBoot 致力于在蓬勃发展的快速应用开发领域成为领导者。

二.SpringBoot 特点

1.创建独立的 spring 应用程序
2.直接内嵌 tomcat、jetty 和 undertow
3.提供了固定化的“starter”配置,以简化构建配置
4.尽可能的自动配置 spring 和第三方库
5.提供产品级的功能,如:安全指标、运行状况监测和外部化配置等
6.绝对不会生成代码,并且不需要 XML 配置

三.SpringBoot 的核心功能

3.1起步依赖

        起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

3.2自动配置

        SpringBoot 的自动配置是一个 运行 时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定 Spring 配置应该用哪个,不该用哪个。该过程是 Spring 自动完成 的。

四.SpringBoot 开发环境构建

首先需要创建一个普通的 maven 项目
        在 pom.xml 文件中添加以下配置
<!-- 依赖的父级工程 -->
< parent >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-starter-parent</ artifactId >
< version >2.6.6</ version >
< relativePath />
</ parent >

         根据自己的jdk版本

<!-- 指定 jdk 版本 -->
< properties >
< java.version >1.8</ java.version >
</ properties >

<!-- 添加基本的 springweb 依赖 -->
< dependencies >
< dependency >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-starter-web</ artifactId >
</ dependency >
</ dependencies >
<!-- 打包插件 -->
< build >
< plugins >
< plugin >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-maven-plugin</ artifactId >
< version >2.6.6</ version >
</ plugin >
</ plugins >
</ build > 
        创建基本包目录,在包下创建一个启动类,如下所示:
创建基本包目录,在包下创建一个启动类,如下所示:
@SpringBootApplication
public class NewsApplication {
public static void main(String[] args) {
SpringApplication.run(NewsApplication.class);}
}

         图片如下:

        SpringBoot 集成 web 组件后, 内置了 tomcat 服务器 ,一个 springboot 应用相当于一个独立的服务,可以使用启动类中的 main 方法启动 springboot 程序.就会生成下面的springboot的logo,

        在线生成启动 logo:https://www.bootschool.net/ascii-art.

        下载存放在 resources 目录下即可. 注意文件名必须为banner.txt

五.SpringBoot 配置文件

        SpringBoot 使用一个全局的配置文件( 配置文件名是固定的 , 必须为 application ),用来存储项目中需要用到的各种配置参数. 配置文件格式有两种,一种为 properties 格式,一种 yaml 格式。
application.properties 属性 文件 格式,内容为键值对: server.port=8080
properties 格式比较简单,没有什么难度,在此我们以第二种 yaml 格式为例.
application.yml
yml 是 YAML(YAML Ain’t Markup Language)语言的文件,以数据为中心.
yml 配置示例:
server:
port: 8080
yaml 基本语法:
语法结构:key: 空格 value;
以此来表示一对键值对。 注意:(冒号后的空格不能省略,否则会出错);
以空格的缩进来控制 层级关系 只要是左边对齐的一列数据都是同一个层级的
字面量直接写在后面就可以,字符串默认不用加上双引号或者单引号;
# 作为注释符号.
案例:
mybatis:
  type-aliases-package: com.hkt.news.model
  mapper-locations: classpath:mappers/*Mapper.xml
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

使用@Value 注解标签将配置文件中的内容映射到类中的属性.

@Value("${user.name}")

六.SpringBoot数据访问管理


数据源配置:

首先,为了连接数据库需要引入 jdbc 支持,在 pom.xml 中引入如下配置:

添加依赖:

<dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

 使用mysql数据库还需要添加mysql依赖:

<!--mysql-->    
    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
    </dependency>

 添加数据源之后,为了和数据库连接,我们还需要在 application.yml 中去配置信息:

spring:

  datasource:

     url: jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezone=Asia/Shanghai

     username: 用户名

     password: 用户密码

     driver-class-name: com.mysql.cj.jdbc.Driver

 springboot整合阿里数据源

首先需要导入阿里数据源的 .jar 包:

<!-- 阿里数据源 -->
<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.10</version>
</dependency>

 在 application.yml 中去配置信息:

 //他们和url,username,password在一个层级中
 type: com.alibaba.druid.pool.DruidDataSource
 initialSize: 5 #初始化时建立物理连接的个数
 maxActive: 20 #最大连接池数量

七.springboot注解


springboot 实现自动装配的核心仍然是使用注解标签 

@SpringBootApplication 是 springboot 核心注解,使用在启动类前。

其中包含 @SpringBootConfiguration,@EnableAutoConfiguration, @ComponentScan.

@Configuration 一般使用在拦截器的前面。

 

加入@Configuration 注解,表明这就是一个配置类。有一个 myBean()的方法并用@Bean 进行注释,返回一个 MyBean()的实例,表明这个方法是需要被Spring 进行管理的 bean。@Bean 如果不指定名称的话,默认使用 myBean 名称,也就是小写的名称。

@Bean

相当于 XML 中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个 bean,并交给 spring 管理。eg:(类似于之前写过的跨域问题)

package com.hkt.news.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import java.util.Collections;
@Configuration
public class CorsConfig {@Beanpublic CorsFilter corsFilter() {CorsConfiguration corsConfiguration = new CorsConfiguration();//1,允许任何来源corsConfiguration.setAllowedOriginPatterns(Collections.singletonList("*"));//2,允许任何请求头corsConfiguration.addAllowedHeader(CorsConfiguration.ALL);//3,允许任何方法corsConfiguration.addAllowedMethod(CorsConfiguration.ALL);//4,允许凭证corsConfiguration.setAllowCredentials(true);UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(source);}
}

八.springboot集成mybatis


首先在 pom.xml 文件中导入依赖的 jar 包:

<dependency>

       <groupId>org.mybatis.spring.boot</groupId>

       <artifactId>mybatis-spring-boot-starter</artifactId>

       <version>2.1.4</version>

</dependency>

 下面在 application.yml 中配置信息:

mybatis:
  type-aliases-package: com.hkt.news.model  //模型类地址
  mapper-locations: classpath:mappers/*Mapper.xml 
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

  最后还需要在启动类前加上 @MapperScan("接口所在的包地址") 注解。eg:

 

九.springboot全局异常捕获与处理


      Springboot 对于异常的处理也做了不错的支持 ,它提供了一个 @RestControllerAdvice 注解以及 @ExceptionHandler 注解,前者是用来开启全局的异常捕获,后者则是说明捕获哪些异常,对那些异常进行处理。eg:

package com.hkt.news.util;import com.hkt.news.model.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;@RestControllerAdvice
public class GlobalExceptionHandler {/*** 全局异常处理*/@ExceptionHandler(Exception.class)public Result globalException(Exception e) {Result result = new Result(500,"系统忙"+e.getMessage(),null);e.printStackTrace();return result;}
}

若出现异常,则打印错误信息。

兄弟姐妹们,记得一键三连哦

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com