您现在的位置是:亿华云 > 域名
SpringBoot常用注解总结
亿华云2025-10-09 09:05:26【域名】9人已围观
简介一、启动相关1、@SpringBootApplicationSpringBootApplication注解: @Target(ElementType.TYPE)@Retention(Re
一、常用启动相关
1、注解总结@SpringBootApplication
SpringBootApplication注解: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM,常用 classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) public @interface SpringBootApplication {在SpirngBoot启动类里面,都加入了此启动注解,注解总结此注解是常用个组合注解,三个比较重要的注解总结:
@SpringBootConfiguration 继承至@Configuration,其实两种功能一致,常用都是注解总结标注该类为配置类
@EnableAutoConfiguration 这个注解是SpirngBoot自动配置的核心所在,通过此注解,常用能所有符合自动配置条件的注解总结bean的定义加载到spring容器中。
@ComponentScan 该注解会扫描当前包及子包下面被纳入sping容器管理的常用类。
注意事项:一般我们在实际项目中会根据自己的注解总结需要排除一些无需自动配置的类,例如我们会配置自己的常用数据库,所以就不需要springboot自动注入数据源,注解总结这可以利用exclude进行排除
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class})
当需扫描第三方jar包时,常用我们可以通过在配置类中使用@Configuration与@ComponentScan来引入第三方jar包下的源码下载类
@Configuration@ComponentScan(basePackages = { "com.test.service"}) //引入第三方jar包下的类
2、@Import
@Import注解可用来导入一个或者多个 Spring 配置文件,特别是第三方jar包下的一些配置类,需要通过Import注解进行加载,代码如下所示@Import({ KafkaConfig.class, JedisConfig.class}) //引入第三方jar包里配置类
二、配置相关以一般的的配置类中用到的注解为例
1、@Configuration
@Configuration专门用来标注配置类,它一般会配合
2、@Bean使用@Bean注解拿到配置返回相关实例,并放入sping容器中统一管理
3、@PropertySource目的是加载指定路径下的属性文件
4、@Value配合@PropertySource注解使用,指定该字段对应的配置文件中的内容
5、@Order利用@Order控制配置类的加载顺序
结合以上注解对kafka进行配置示例代码如下 @Configuration @PropertySource("classpath:spring-kafka.properties") @Order(2) public class KafkaConfig { @Value("${ spring.kafka.bootstrap-servers}") private String bootstrapServers; @Bean public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<Object, Object>> kafkaListenerContainerFactory() { ConcurrentKafkaListenerContainerFactory<Object, Object> factory = new ConcurrentKafkaListenerContainerFactory<Object, Object>(); factory.setConsumerFactory(consumerFactory()); factory.setConcurrency(1); // factory .getContainerProperties().setPollTimeout(1000); return factory; } }三、亿华云计算构造相关1、@Service
用于标注服务层,主要用来进行业务的逻辑处理
2、@Repository用于标注持久层,主要用来进行数据库相关操作
3、@Component一个通用的注解,可以注解各种组件,就是说当我们需要注入sping容器中bean类没有明确分类时(不属于@service、@Repository等的时候),我们就可以使用@Component来标注这个类。
4、@Scopespring容器管理bean默认是单例模式,如果你需要使用多例模式可以通过@Scope("prototype")注解来实现。
5、@Autowired这个就很简单了,用于Spring容器中Bean类实例的注入
6、@PostConstruct在Bean初始化之后(构造方法和@Autowired之后)执行指定操作。如果在项目中有些操作需要在Bean类构造后执行,可以使用@PostConstruct注解,实例代码如下
@RestController @RequestMapping("/api") public class ApiController extends BaseController { @PostMapping("/login") public User login(@RequestBody User user){ //代码 } @GetMapping("/getUser") public User getUser(@RequestParam String userName, @RequestParam String userPhone){ //代码 } } 站群服务器很赞哦!(2962)
相关文章
- 第五步:重复第四步,直到找到正确的纪录。
- 面试官:说说对高阶组件的理解?应用场景?
- JetBrains 调查:JavaScript 最流行,Python 超越 Java
- Python 的整数与 Numpy 的数据溢出
- 国内域名
- 6月份Github上热门JavaScript项目排行
- 用 Groovy 解析 JSON 配置文件
- Springboot整合百度开源分布式ID生成器UIDGenerator
- 2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
- 如何使用 Python 的 for 循环
站长推荐
付款完成后,您只需耐心等待,如果您注册成功,系统会提示您。这里需要注意的是,域名是一个即时产品,只有在最终付款成功时才能预订,注册成功后不能更改。
浅析 SpringMVC 中返回对象的循环引用问题
RocketMQ千锤百炼 哈啰在分布式消息治理和微服务治理中的实践
低代码应用程序开发的十个优秀实践
域名不仅仅是一个简单的网站。对于有长远眼光的公司来说,在运营网站之前确定一个优秀的域名对有长远眼光的公司来说是非常重要的。这对今后的市场营销、产品营销和企业品牌建设都具有十分重要的意义。优秀的域名是企业在市场竞争中获得持久优势的利器。
分享几个简单易懂的Python技巧,能够极大的提高工作效率哦!
高并发服务优化篇:从RPC预热转发看服务端性能调优
进阶教程:用 Python 和 NLTK 进行 NLP 分析