首页 > 其他分享 >Springboot-HelloWorld

Springboot-HelloWorld

时间:2023-04-13 16:27:07浏览次数:43  
标签:Springboot spring 配置 classpath HelloWorld application datasource 注解

1.引入依赖

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


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

2.主程序类

/**
 * 主程序类
 * @SpringBootApplication:这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}

2.1 SpringBootApplication注解

SpringBootApplication可由下面下面三个注解代替
image

1.@SpringBootConfiguration:---->@Configuration

标注这个类是一个配置类;

它继承自@Configuration注解;

它与@Configuration注解的功能一致;

只不过@SpringBootConfiguration是springboot的注解,而@Configuration是spring的注解。

标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。

2.@EnableAutoConfiguration

image

@Import(AutoConfigurationImportSelector.class),
借助AutoConfigurationImportSelector,@EnableAutoConfiguration可以帮助SpringBoot
应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。

自动配置这方面后期在研究研究

3.@ComponentScan

组件扫描,如果没有配置value则默认扫描 XxxApplication.java所在目录以及其子目录
image

3.1 value

指定要扫描的包路径
@ComponentScan(value = "com.zx.controller")

3.2 excludeFilters(排除规则)
excludeFilters=Filter[] 指定包扫描的时候根据规则指定要排除的组件
3.3 includeFilters(包含规则)
includeFilters =Filter[] 指定包扫描的时候根据规则指定要包含的组件.
注意:要设置useDefaultFilters = false(系统默认为true,需要手动设置) includeFilters包含过滤规则才会生效。

参考连接

3.Controller类

从HTTP请求中获取信息,提取参数,并将其分发给不同的处理服务(service层),并向前端返回service层处理后的数据(JSON数据或者ModelAndView对象)。

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle01(){
        return "Hello, Spring Boot 2!";
    }


}

3.1@RestController

等同于@Controller + @ResponseBody
image

3.1.1@Controller

标注这是一个控制类,将类映射为Controller层,添加到IoC容器中

3.1.2@ResponseBody

@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,
而不是解析为跳转路径。该注解标注的返回类型都是数值型(字符串或json格式数据)

4.运行main,默认url:localhost:8080

5.配置相关

image

springboot项目创建完成后在resources目录下会自动生成名为application.properties的配置文件我们也可以自己建立名为application.yml/yaml的文件,本质上是相同的只是语法略有不同

`application.properties`
	语法结构: key=value

`application.yml`
	语法结构: key:空格 value

application.properties配置实例

#配置访问端口号
server.port=8081
#描述数据源
spring.datasource.url=jdbc:mysql://localhost:3306/tanglong?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia
spring.datasource.username=root
spring.datasource.password=0000
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource

更多配置请参考

application.yaml配置实例

spring:
  application:
#1.服务名称信息
      name: mimi
#2.配置启动banner的编码和文字
  banner:
    charset: UTF-8
    location: classpath:banner.txt
#3.spring:datasource下的)配置数据库
  datasource:
    #1.配置数据库连接池(Druid,),HikariCP 是默认的
    type: com.alibaba.druid.pool.DruidDataSource
    #2.数据库的地址
    url: jdbc:mysql://localhost:3306/demo?characterEncoding=UTF-8&serverTimezone=GMT%2B8
    #3.配置数据库驱动,jdbc
    driver-class-name: com.mysql.cj.jdbc.Driver
    #4.配置数据库连接的账号
    username: root
    #5.配置数据库连接的密码
    password: 123456
#4.(spring:mvc下的)关于springmvc的设置
  mvc:
    #1.静态资源的过滤规则(在静态资源目录下,只有以/resources/开头的才能显示,不然不能显示)
       static-path-pattern: /resources/**
#5.(spring:resources下的)设置静态资源的路径(默认的是classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resource)
  resources:
      static-locations: ["classpath:/static/", "classpath:/public/","classpath:/mapper/"]
#6.thymeleaf的模板配置
  thymeleaf:
      prefix: classpath:/templates
      mode: HTML
      cache: false
      encoding: UTF-8
      #     新版本不支持content-type: text/html,故新写法
      servlet:
        content-type: text/html

优先级1:项目路径下的config文件夹配置文件
优先级2:项目路径下配置文件
优先级3:资源路径下的config文件夹配置文件
优先级4:资源路径下配置文件
默认生成的配置文件优先级最低

<!--导入配置文件处理器,配置文件进行绑定就会有提示-->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-configuration-processor</artifactId>
 <optional>true</optional>
</dependency>

标签:Springboot,spring,配置,classpath,HelloWorld,application,datasource,注解
From: https://www.cnblogs.com/ysbzczreo/p/17314874.html

相关文章

  • springboot 整合 webservice服务
    目录webservice百科创建一个springboot项目并导入相关依赖编写webservice接口编写实现类发布webservice浏览器访问postman调用在前一段时间用到了webservice服务,今天整理了一下,记录下来。webservice百科WebService是一个平台独立的,低耦合的,自包含的、基于可......
  • 如何实现 Java SpringBoot 自动验证入参数据的有效性
    JavaSpringBoot通过javax.validation.constraints下的注解,实现入参数据自动验证如果碰到@NotEmpty否则不生效,注意看下@RequestBody前面是否加上了@ValidValidation常用注解汇总Constraint详细信息@Null被注释的元素必须为null@NotNull被注释的元素必须不......
  • SpringBoot尚硅谷
    SpringBoot2核心技术与响应式编程SpringBoot2核心技术SpringBoot2基础入门Spring能做什么?Spring的生态覆盖了:web开发数据访问安全控制分布式消息服务移动开发批处理Spring5的重大升级内部源码设计基于Java8的一些新特性,如:接口默认实现。重新设计源码......
  • 基于Java+Springboot+vue网上商品订单转手系统设计和实现
    基于Java+Springboot+vue网上商品订单转手系统设计和实现一、前言介绍:1.1项目摘要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装网上商品订单转手系统软件来发挥其高效地信息处理......
  • springboot学习随笔
    1.大纲-springboot框架1.什么是Springboot以及Springboot的特点。2.快速搭建springboot项目3.springboot常用的配置文件类型.4.读取springboot配置文件的内容5.多环境配置6.springboot整合数据源。7.springboot整合mybatis.8.springboot整合定时器。2.Springbo......
  • SpringBoot向web容器注入Servlet,Filter及SpringSecurity注册DelegatingFilterProxy
    从SpringSecurity架构图可知SpringSecurity的过滤器与Web容器的过滤器是通过DelegatingFilterProxy接入的。由DelegatingFilterProxy代理了FilterChainProxy,FilterChainProxy包含了SpringSecurity的过滤器链。 那么DelegatingFilterProxy是怎么创建及如何加入到Web容器中? 看......
  • Springboot三种启动方式
    在https://start.spring.io/上创建一个springboot工程生成的代码中的启动方式咱们暂时定义为默认方式:/***@auther:lawt*@date:2018/12/117*@Description:默认启动方式*/@SpringBootApplicationpublicclassMicroServicesSpringBootApplication{publicstaticv......
  • springboot 中的 classpath 指的是什么路径?
    classpath其本质其实是指项目打包后的classes下的路径,一般用来指代“src/main/resources”下的资源路径。通常会在各种配置文件中使用【classpath】关键字,例如:yml配置文件:WebMvcConfigurer配置类:......
  • springboot整合阿里云OSS实现多线程下文件上传(aop限制文件大小和类型)
    内容涉及:springboot整合阿里云oss自定义注解及aop的使用:对上传文件格式(视频格式、图片格式)、不同类型文件进行大小限制(视频和图片各自自定义大小)线程池使用:阿里云OSS多线程上传文件阿里云OSS分片上传大文件 业务需求需求一:前端传递单个或多个小文件(这里......
  • springboot filter 和 interceptor 使用
    userholderpublicclassUserHolder{privatestaticThreadLocal<String>userThreadLocal=newThreadLocal<>();//为当前的线程变量赋值上用户信息publicstaticvoidsetLoginUser(Stringuser){userThreadLocal.set(user);}//从当前......