丙午🐎年

acc8226 的博客

设置激活 Spring Profiles

SPRING Environment 为此提供了一个 API,但是您通常会设置一个 System 属性(spring.profiles.active) 或者一个 OS 环境变量(SPRING_PROFILES_ACTIVE)。此外,您可以使用 -D 参数启动应用程序(记住将其放在 main 类或 jar 归档之前) ,如下所示:

1
java -jar -Dspring.profiles.active=production demo-0.0.1-SNAPSHOT.jar

或者

1
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=production

在 Spring Boot 中,您还可以在 application.properties 中设置 active profile ,如下面的示例所示:

可以是一个

1
spring.profiles.active=production

也可以是多个

1
spring.profiles.active=dev,hsqldb

或者使用 application.yml 形式

1
2
3
spring:
profiles:
active: dev, hsqldb
阅读全文 »

Spring 配置的三种方案

  1. 在 XML 中进行显式配置。
  2. 隐式的 bean 发现机制和自动装配。
  3. 在 Java 中进行显式配置。

使用 xml 配置 bean

通过 ClassPathXmlApplicationContext 进行文件加载。

基于 XML 的配置方法有对构造(有区分了无参构造 和 有参构造)注入和 setter 注入有自己的实现。然后还有工厂方法。后面还新增了 p-schema 和 c-schema。

由于字符串的约束性较差,现在更推荐使用自动扫描 + Java 进行显式配置。

阅读全文 »

有的时候创建命令行应用程序可能很有用,例如与项目的 REST API 交互,或者使用本地文件内容。

Spring Shell,可以和 SpringBoot 一起制作一款命令行工具。可轻松构建一个功能完整的 Shell (又名命令行)应用程序。

特性

Spring Shell 的特性包括

  • 一个简单的、注释驱动的编程模型,用于提供自定义命令
  • 使用 Spring Boot 自动配置功能作为命令插件策略的基础
  • 选项卡完成、彩色化和脚本执行
  • 自定义命令提示符、 shell 历史文件名、结果处理和错误
  • 基于领域特定条件的命令动态启用
  • 与 bean 验证 API 的集成
  • 已经内置的命令,如清晰的屏幕,华丽的帮助,退出
  • ASCII 艺术表格,具有格式化、对齐、花哨的边框等。
阅读全文 »

Spring 框架的功能被有组织的分散到约 20 个模块中。这些模块分布在核心容器,数据访问/集成,Web,AOP(面向切面的编程),植入(Instrumentation),消息传输和测试,如下面的图所示。

核心容器模块

核心容器 由以下模块组成,spring-core, spring-beans,spring-context,spring-context-support,和spring-expression (Spring表达式语言)。

spring-core和spring-beans模块提供了框架的基础功能,包括IOC和依赖注入功能。 BeanFactory 是一个成熟的工厂模式的实现。你不再需要编程去实现单例模式,允许你把依赖关系的配置和描述从程序逻辑中解耦。

阅读全文 »
0%