SpringBoot 的配置类--JSB系列之003

简介: SpringBoot 的配置类--JSB系列之003
环境 win11
工具 idea 2017
jdk 1.8
数据库 mysql5.5
maven 3.2.1
项目导入方式 maven 导入
数据库前端工具 mysql-front (navicat 也可以)

什么是配置类

其实,这个配置类不需要有太深的理解,只要能知道配置类在get bean 之前就可以了。

理解这个顺序比会写配置类对初学者也许还要重要!

举一个例子:

1. @Configuration
2. public class MyConfiguration {
3. @Bean
4. public String msg(){
5. return "这是配置类中的返回信息";
6.     }
7. @Bean
8. public Role myRole(){
9. return new Role();
10.     }
11. }

配置类怎么输入初值

java配置主要靠java类和一些注解来达到和xml配置一样的效果,比较常用的注解有:

· @Configuration:声明一个类作为配置类,代替xml文件

那么,同样的,也可以使用配置文件的方法对类进行初始化。

1. #默认路径下,classpath的路径下
2. server:
3.   port: 8080
4.   servlet:
5.     context-path: /index
6. 
7. #管理员角色的基本信息
8. role:
9.   name: admin
10.   description: 管理员
11.   permissionIds:
12.  - 10
13.  - 11
14.  - 12

从这里也可以看出来。 @Configuration 比配置文件还要在前,因为配置文件里是new Role();

controller 里写法如下:

1. @RestController
2. public class MyConfigurationController {
3. @Autowired
4. private String msg;
5. @Autowired
6. private Role role;
7. 
8. @GetMapping("/test")
9. public String test() {
10. return msg;
11.     }
12. 
13. @GetMapping("/role")
14. public String getRole() {
15. return role.toString();
16.     }
17. }

就是简单的获得 msg 这个字符串,跟获得role  这个类。

运行类如下:

1. @SpringBootApplication
2. public class Unit23Application {
3. 
4. public static void main(String[] args) {
5. SpringApplication.run(Unit23Application.class, args);
6.     }
7. 
8. }

让我们运行一下:

可以看到,当访问test (这部分不知道的请查看sb系列的helloworld)。可以看到这个msg 被配置类初始化了。

而访问role 就更厉害了。你可以发现,role 的这个类new 出来了,并且还有初始值了。

本来呢,写到这里,配置类的理解部分就够了。

但是,万一有同学有这样的疑问,这个东西在实际的项目应用当中怎么使用?啥模块中使用?怎么用?

那么,这里就一并说了好了。

最常见的应用: 图形验证码

全文地址在这里:

前后端分离,SpringBoot如何实现验证码操作 - 知乎

当然了,其它的几个验证码的类。

<!-- google kaptcha依赖 验证码 -->

       <dependency>

           <groupId>com.github.axet</groupId>

           <artifactId>kaptcha</artifactId>

           <version>0.0.9</version>

       </dependency>

使用起来,也跟知乎的这篇差不多。 这里就不再浪费篇幅了。

本文代码链接:

https://blog.csdn.net/dearmite/article/details/131842655

相关文章
|
2月前
|
Java Spring
Spring Boot配置的优先级?
在Spring Boot项目中,配置可通过配置文件和外部配置实现。支持的配置文件包括application.properties、application.yml和application.yaml,优先级依次降低。外部配置常用方式有Java系统属性(如-Dserver.port=9001)和命令行参数(如--server.port=10010),其中命令行参数优先级高于系统属性。整体优先级顺序为:命令行参数 &gt; Java系统属性 &gt; application.properties &gt; application.yml &gt; application.yaml。
397 0
|
1月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
424 10
|
6月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
617 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
6月前
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
778 0
|
6月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
85 0
|
6月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
529 0
|
2月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
625 1
|
10月前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
172 0
|
7月前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
2580 14
|
7月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
541 12