SpringBoot学习(常见的几种获取配置文件数据方式)

1.从yml文件中通过@Value获取

1.1在application.yml配置文件中配置如下属性

// 例如在application.yml  文件中配置如下属性 
name: testName

1.2 通过@Value获取配置文件属性的数据值

//
@org.springframework.stereotype.Service
public class DemoServiceImpl implements DemoService{

//在这里通过@Value的方式注入属性值,常见的一般实在三层架构的controller层
//注入数据,这里我通过service层注入演示
    @Value("${name}")
    private String name;

    @Override
    public String getName() {

        return this.name;
    }

}

1.3 效果如下所示

在这里插入图片描述

2.在application.yml文件中获取对象的数据

2.1在application.yml 文件中配置如下信息

// 例如在application.yml  文件中配置如下属性 
person:
  name: zhangsan
  age: 11
  addr: guagnzhou

2.2新建一个Person对象

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * Date:2020/3/21
 @author:lg
 注意:一定要有Get、Set方法  这里通过@Data生成
 */
@ConfigurationProperties(prefix = "person")//声明配置文件中的前缀
@Data//生成get set方法
@Configuration//声明为一个配置类信息,交给Spring管理
public class Person {

    private String name;
    private String addr;

    private Integer  age;


    public  String  tInfo(){

        return "name=" + this.name +  "age=" + this.age + "addr=" + this.addr;
    }
}

2.3效果如下所示

在这里插入图片描述

3.通过自定义配置文件获取(建议,可以不再application.yml文件中注入自定义配置信息)

3.1自定义配置文件test.properties

在这里插入图片描述

user.username=lisi
user.age=11
user.sex=nv

3.2新建一个User对象

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.annotation.Resources;

/**
 * Date:2020/3/21
 *
 * @author:lg
 */
@ConfigurationProperties(prefix = "user")
@PropertySource("classpath:config/test.properties")//指定文件的路径
@Data
@Configuration
public class User {
    private String username;
    private String sex;
    private Integer age;
}

3.3效果如下

在这里插入图片描述

总结:这里只列举常见的几种方式,还有其他方式可以自行学习

### 回答1: 在 Spring Boot 配置数据权限,需要以下几步: 1. 引入依赖:在项目的 pom.xml 文件引入相应的依赖,比如使用 MyBatis 时可以引入 mybatis-spring-boot-starter 依赖。 2. 配置数据源:在 application.properties 文件配置数据源,包括数据库地址、用户名、密码等信息。 3. 在实体类添加数据权限字段:在实体类添加数据权限相关的字段,比如创建者、所属部门等。 4. 在 DAO 层添加数据权限过滤:在 DAO 层的查询方法添加数据权限的过滤条件,比如使用 MyBatis 的时候可以使用 if 语句来判断并拼接过滤条件。 5. 在 Service处理数据权限:在 Service获取当前登录用户的数据权限信息,并将其传递给 DAO 层进行过滤。 6. 在控制层获取数据权限:在控制层获取当前登录用户的数据权限信息,并将其传递给 Service 层进行处理。 这是一种常见配置数据权限的方式,具体实现还可以根据具体的需要进行调整。 ### 回答2: 在Spring Boot框架配置数据权限需要遵循以下步骤: 1. 引入所需的依赖:在项目的pom.xml文件添加相关的依赖,例如Spring Security和Spring Data JPA。 2. 配置Spring Security:在项目的配置文件(比如application.properties或application.yml配置Spring Security,开启权限验证。 3. 编写自定义的数据权限规则:创建一个实现了org.springframework.security.access.PermissionEvaluator接口的类,该类用于定义数据权限规则。在这个类,必须实现evaluate()方法以及对应的hasPermission()方法,用于判断用户是否有权限操作某个资源。 4. 在业务逻辑应用数据权限规则:根据具体的业务需求,在Service层或Controller层的方法,调用数据权限规则类的方法来判断用户是否有权限进行某些操作。 5. 配置数据过滤器:为了确保数据权限规则生效,在项目需要配置数据过滤器。这可以通过自定义过滤器或使用已有的框架来实现。例如,可以使用Spring Data JPA的Specification和QueryDSL语法来进行数据的过滤和筛选。 6. 测试和调试:最后,针对不同的角色和权限编写相应的测试用例,并进行测试和调试,确保数据权限配置的正确性和完整性。 通过以上步骤,我们可以在Spring Boot框架配置数据权限,确保用户只能访问、操作其具有权限的数据,提升系统的安全性和数据的保密性。 ### 回答3: 在Spring Boot框架配置数据权限可以通过以下步骤进行: 1. 首先,需要在项目的pom.xml文件添加相应的依赖,例如添加Spring Security依赖。 2. 接下来,在项目的配置文件(application.properties或application.yml配置数据库连接信息、权限配置等。 3. 在Spring Boot启动类添加@EnableGlobalMethodSecurity注解,开启全局方法权限验证。 4. 创建自定义的权限控制类,实现自定义的权限验证逻辑。可以继承AbstractSecurityInterceptor类,并重写相关方法。 5. 在自定义权限控制类,使用@PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter等注解进行权限控制的配置。例如使用@PreAuthorize注解来控制方法的访问权限。 6. 配置数据库表结构,创建用于存储用户、角色、权限等信息的表。 7. 定义用户角色表和角色权限表的关联关系,并进行适当的角色和权限的分配。 8. 编写Controller层的接口方法,使用上述注解来进行权限控制。 9. 在登录页面进行用户认证,验证用户的账号和密码是否正确,之后可以从数据获取该用户拥有的角色和权限。 10. 在接口方法的实现,根据用户的角色和权限对数据进行过滤或限制。 这样,当用户访问接口时,系统会根据用户的角色和权限进行验证和授权,只有满足条件的用户才能够正常访问和操作相应的数据。 以上是关于在SpringBoot框架配置数据权限的一般步骤,具体的配置和实现方式可以根据实际需求和项目情况进行适当调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值