• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SpringBoot基础配置

武飞扬头像
juejin
帮助70

前言

最近在学习springboot框架的基本知识,相信大家对于Springboot一定不陌生了这里就简单说一下:Spring框架是java平台上的一种开源应用框架,提供具有控制反转特性的容器,也是现在比较流行的框架

官方文档如下:

docs.spring.io/spring-boot…

本文就个人在学习Spring环境配置过程中遇到的问题以及环境配置的解决方法做了一下回顾,希望能帮助到有需要的朋友们。

HelloWorld

首先看我们如何配置一个简单的依赖文件

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

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

<!--若想打成jar包,需要加上下边插件
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.2</version>
        </plugin>
    </plugins>
</build>

配置完依赖我们启动程序

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

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

控制器的配置如下

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "Hello,SpringBoot2";
    }
}

此时就可以直接运行了,若想设置端口可以添加配置文件application.properties 官方文档

server.port=8888

image-20221019232832051.png

配置文件

需要深入的小伙伴可以参考以下文档:

Common Application Properties (spring.io)

下面就讲一讲基本的配置文件:

基础配置

# 服务器端口配置
server.port=80

# 修改banner
# spring.main.banner-mode=off
# spring.banner.image.location=logo.png

# 日志
logging.level.root=info

配置文件优先级

关于配置文件的优先级问题可以参考下面的例子:

application.properties > application.yml > application.yaml

yaml配置文件

一个简单的配置例子如下:

server:
  servlet:
    context-path: /hello #设置servlet路径
  port: 82

country: china

port: 8080

user1:
  name: Sentiment
  age: 20

users:
  - name: Sentiemnt
    age: 21
  - name: Shelter
    age: 22

likes:
  - game
  - music
  - sleep

测试

配置完所有的数据后我们可以查看一下运行的结果,可以看到成功进行了赋值:

image-20221029200700781.png

属性引用

对于如何引用属性,我们可以通过${属性名}的方式引用定义的属性

yaml

baseDir: c:\windows
dateDir: ${baseDir}\date

测试

我们构建一个测试文件如下:

@Value("${dateDir}")
private String dateDir;
@RequestMapping("/hello")
public String hello(){
    System.out.println("dateDir==>" dateDir);
    return "Hello,SpringBoot2";
}

输出结果:

dateDir==>c:\windows\date

读取全部属性数据

通过Environment类型数据,并集合getProperty即可

@Autowired
private Environment env;

@RequestMapping("/hello")
public String hello(){
System.out.println("env==>" env.getProperty("user1.name"));
}

将数据封装到类中

yml配置文件

datasource:
  username: root
  password: 123456
  url: jdbc:mysql://localhost:3306/Mybatis
  driver: com.mysql.cj.jdbc.Driver

yml配置文件对应的类

需要通过@ConfigurationProperties("datasource")来获取配置文件的属性

@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@ConfigurationProperties("datasource")
public class MydataSource {
    private String username;
    private String password;
    private String url;
    private String driver;
}

定义mydataSource类的数据并输出

@Autowired
private MydataSource mydataSource;

@RequestMapping("/hello")
public String hello(){
    System.out.println("MydataSource==>" mydataSource);
    return "Hello,SpringBoot2";
}

结果:

MydataSource==>MydataSource(username=root, password=123456, url=jdbc:mysql://localhost:3306/Mybatis, driver=com.mysql.cj.jdbc.Driver)

整合mybatis

下面给大家举一个如何整合mybatis的简单例子:

image-20221029205051771.png

之后我们来设置我们需要的配置文件:

yml配置文件

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/Mybatis
    driver-class-name: com.mysql.jdbc.Driver

pojo

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private int uid;
    private String uname;
    private int uage;
}

Dao

@Mapper
public interface  UserDao {
    @Select("select * from users where uid = #{uid}")
    public User getById(int uid);
}

测试类

@SpringBootTest
class SpringBootMybatisApplicationTests {
    @Autowired
    private UserDao userDao;

    @Test
    void contextLoads() {
        System.out.println(userDao.getById(1));
    }

}

之后运行就可以了输出内容了,上面就是一个简单的整合mybatis的例子。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanekcb
系列文章
更多 icon
同类精品
更多 icon
继续加载