SpringApplication.run (Xxx.class,args) 和 SpringApplication.run (Xxx.class) 的区别是什么?不加 args 也是可以的
时间: 2024-03-11 08:44:24 浏览: 15
`SpringApplication.run(Xxx.class, args)` 和 `SpringApplication.run(Xxx.class)` 的区别在于前者可以传入命令行参数,而后者不传入参数,默认情况下会使用空参数。`args` 参数可以用于指定配置文件的位置、设置配置属性等。如果不需要传入参数,可以使用不带参数的 `SpringApplication.run(Xxx.class)` 方法。
另外需要注意的是,`SpringApplication.run(Xxx.class)` 方法中,`args` 参数并不是必须的,但是如果需要传入参数,就需要设置为 `null`,而不能省略该参数。否则,会抛出 `IllegalArgumentException` 异常。
相关问题
springboot 在application文件中,配置apps.D01.xxx apps.D02.xxx 如何用配置类接收
可以使用 `@ConfigurationProperties` 注解来将 `application.properties` 或 `application.yml` 文件中的属性值绑定到 Java 对象上。具体步骤如下:
1. 创建一个配置类,用 `@ConfigurationProperties` 注解标注,并指定前缀。
```java
@ConfigurationProperties(prefix = "apps")
public class AppsConfig {
private String D01;
private String D02;
// getter 和 setter 方法
}
```
2. 在 `application.properties` 或 `application.yml` 文件中配置属性值。
```
apps.D01.xxx=value1
apps.D02.xxx=value2
```
3. 在 Spring Boot 应用程序中注入配置类。
```java
@SpringBootApplication
@EnableConfigurationProperties(AppsConfig.class)
public class MyApp {
@Autowired
private AppsConfig appsConfig;
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
// ...
}
```
这样,当应用程序启动时,`AppsConfig` 类的属性值将自动绑定到 `application.properties` 或 `application.yml` 文件中指定的属性值,并可以通过 `appsConfig` 对象访问。
怎么在Application中进行@MapperScan("com.xxx")
在应用中使用 `@MapperScan` 注解来扫描 MyBatis 的 Mapper 接口可以通过以下步骤实现:
1. 确保你的项目中已经添加了 MyBatis、MyBatis-Spring 或者 MyBatis-Plus 的相关依赖。
2. 在你的 Spring Boot 或者 Spring MVC 的启动类上,添加 `@MapperScan` 注解,指定需要扫描的 Mapper 接口所在的包路径。
下面是一个示例代码:
```java
@SpringBootApplication
@MapperScan("com.xxx") // 指定需要扫描的 Mapper 接口所在的包路径
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
```
在上面的示例中,`com.xxx` 是你的 Mapper 接口所在的包路径。你可以根据实际情况修改为你自己的包路径。
使用 `@MapperScan` 注解后,Spring Boot 或者 Spring MVC 会自动扫描指定包路径下的 Mapper 接口,并将其注册为 Spring Bean,从而可以在应用中直接注入使用。
希望对你有所帮助!如果还有其他问题,请继续提问。