SpringBoot常用注解
@SpringBootApplication
定义在main方法入口类,用于启动spring boot应用项目
@EnableAutoConfiguration
让spring boot根据类路径中的jar包依赖当前项目进行配置
@ImportResource
加载xml配置,一般是放在启动main类上
@ImportResource("classpath:/spring/.xml") 单个
@ImportResource({"classpath:/spring/1.xml","classpath:/spring/2.xml"}) 多个
@Value
application.properties定义属性,直接使用@Value注入即可
点击查看代码
@ComfigurationProperties(prefix="person")
可以新建一个properties文件,ConfigurationProperties的属性prefix指定properties的配置的前缀,通过location指定properties文件的位置
点击查看代码
@EnableConfigurationProperties
用@EnableConfigurationProperties注解使@ConfigurationProperties生效,并从IOC容器中获取bean
@RestController
组合@Controller和@ResponseBody,当你开发一个和页面交互数据的控制室,比如bbs-web的api接口需要此注解
RequestMapping("/api/copper")
用来映射web请求(访问路径和参数),处理类和方法,可以注解在类或方法上。注解在方法上的路径会继承注解在类上的路径。
produces属性:定制返回的response的媒体类型和字符集,或需返回值是json对象。
@RequestMapping(value="/api2/copper",produces="application/json;charset=UTF-8",method = RequestMethod.POST)
@ReuestParam
获取request请求的参数值
点击查看代码
@ReponseBody
支持将返回值放在response体内,而不是返回一个页面。比如Ajax接口,可以用词注解返回数据而不是页面。此注解可以放置在返回值前或方法前。
@Bean
@Bean(name="bean的名字",initMethod="初始化时调用方法名字",destroyMethod="close")
定义在方法上,在容器内初始化一个bean实例类。
点击查看代码
@Service
用于标注业务层组件
@Controller
用于标注控制层组件(如struts中的action)
@Repository
用于标注数据访问组件,即DAO组件
@Component
泛指组件,当组件不好归类的时候,我们可以使用这个组件进行标注。
PostConstruct
spring容器初始化时,要执行该方法
点击查看代码
@PathVariable
同来获得请求url中的动态参数
点击查看代码
@ComponentScan
注解会告知spring扫描指定的包来初始化spring
@EnableZuulProxy
路由网关的主要目的是为了让所有的微服务对外只有一个接口,我们只需要访问一个网关地址,即可由网关将所有的请求代理到不同的服务中。Spring Cloud是通过Zuul来实现的,支持自动路由映射到在Eureka Server上注册的服务,Spring Cloud提供了注解@EnableZuulProxy来启用路由代理
@Autowired
在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean。当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用 @Autowired(required = false),这等于告诉 Spring: 在找不到匹配 Bean 时也不报错@Autowired注解注入map、list与@Qualifier
@Configuration
点击查看代码
@Import(Config1.class)
导入Config1配置类里实例化的bean
点击查看代码
@Order
@Order(1),值越小优先级越高,越先运行
@ConditionOnExpression
点击查看代码
@ConditionalOnProxy
这个注解能够控制某个 @Configuration 是否生效。具体操作是通过其两个属性name以及havingValue来实现的,其中name用来从application.properties中读取某个属性值,如果该值为空,则返回false;如果值不为空,则将该值与havingValue指定的值进行比较,如果一样则返回true;否则返回false。如果返回值为false,则该configuration不生效;为true则生效
@ConditionalOnClass
该注解的参数对应的类必须存在,否则不解析该注解修饰的配置类
点击查看代码
@ConditionalOnMisssingClass({ApplicationManager.class})
如果存在它修饰的类的bean,则不需要再创建这个bean;
@ConditionOnMissingBean(name = "example")
表示如果name为“example”的bean存在,该注解修饰的代码块不执行。
__EOF__

本文链接:https://www.cnblogs.com/cxd424/p/16977211.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构