@SpringBootApplication
`@SpringBootApplication` 是Spring Boot框架提供的一个组合注解,用于标注Spring Boot应用程序的入口类。它包含了以下三个注解的功能:
1. `@Configuration` :表明该类是一个配置类,可以定义一些Bean。
2. `@EnableAutoConfiguration` :启用Spring Boot的自动配置机制,根据classpath中的jar包自动配置应用程序。
3. `@ComponentScan` :自动扫描并加载符合条件的组件或Bean。
通过使用 `@SpringBootApplication` 注解,可以简化Spring Boot应用程序的启动配置,避免手动配置大量的组件和依赖。同时,Spring Boot会自动扫描和加载应用程序中的组件和Bean,使得应用程序的开发变得更加高效和便捷。
下面是一个示例,演示如何使用 `@SpringBootApplication` 注解:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
在上述示例中, `MyApplication` 类是Spring Boot应用程序的入口类,使用了 `@SpringBootApplication` 注解标注。 `main` 方法中使用了 `SpringApplication.run` 方法启动了应用程序。
@Value
application.properties定义属性,直接使用@Value注入即可
public class A{
@Value("${push.start:0}") 如果缺失,默认值为0
private Long id;
}
@EnableAsync
`@EnableAsync` 注解是Spring框架提供的一个注解,用于启用异步方法的支持。
在使用 `@EnableAsync` 注解后,Spring框架会自动创建一个线程池来执行被 `@Async` 注解修饰的方法。这样,在调用这些方法时,Spring会将其包装成一个异步任务,并提交给线程池进行执行,而不是阻塞当前线程等待方法执行完成。
`@EnableAsync` 注解可以应用在配置类上,通过在配置类上添加该注解,可以全局启用异步方法的支持。同时,也可以在具体的方法上添加 `@Async` 注解,来指定该方法需要以异步方式执行。
下面是一个示例,演示如何使用 `@EnableAsync` 注解:
@Configuration
@EnableAsync
public class AppConfig {
// 配置类的其他内容
@Bean
public Executor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(30);
executor.setThreadNamePrefix("MyExecutor-");
executor.initialize();
return executor;
}
}
在上述示例中, `AppConfig` 类是一个配置类,使用了 `@EnableAsync` 注解启用了异步方法的支持。同时,通过定义 `taskExecutor` 方法,创建了一个线程池来执行异步任务。
使用 `@EnableAsync` 注解可以方便地在Spring应用中使用异步方法,提高应用的并发性和响应性。
@PathVariable
用来获得请求url中的动态参数
@Controller
public class TestController {
@RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET)
public String getLogin(@PathVariable("userId") String userId,
@PathVariable("roleId") String roleId){
System.out.println("User Id : " + userId);
System.out.println("Role Id : " + roleId);
return "hello";
}
}