Spring与SpringMVC常用注解
- 开发
- 38
-
一、spring常用注解:
- @Component:实现bean的注入(不过获取bean需要用bean的类型来获取(即class文件))
@controller、@Service、@Repository的作用等同于@Component注解的作用,相当于其别名,只是为了更好的区分表现层,业务层,数据层的注解web开发,提供3个@Component注解衍生注解(功能一样)取代。
- 下面三个注解括号里一般不用参数
- @Repository(“名称”):dao层
- @Service(“名称”):service层
- @Controller(“名称”):web(controller)层
- @Configuration:@Configuration 注解用于标识一个类为 Spring 的配置类,告诉 Spring 容器该类中包含了一个或多个 bean 的配置信息。用于设定当前类为核心配置类
- @ComponentScan注解:
@ComponentScan
注解用于指定 Spring 容器在启动时要扫描的基础包路径,以及要扫描的包路径下应该被自动注册为 Spring bean 的类。
- 用于设定扫描路径,此注解只能添加一次,多个数据要用数组的格式
- @Scope:定义bean的作用范围
- (@Scope(“singleton”): 单实例的(单例)(默认)
- (@Scope(“prototype”):该bean为非单例模式)
- 定义bean的生命周期:
- @ PostConstruct 自定义初始化(构造方法后)
- @ PreDestroy 自定义销毁(销毁前)
- @Autowired:@Autowired 注解用于自动装配 bean 的依赖关系。它可以被用来标注在类的字段、构造函数、setter 方法或者配置类的方法上,以实现自动注入所需的依赖。
- @Qualifier:@Qualifier 注解用于与 @Autowired 注解一起使用,帮助 Spring 选择特定的 bean 进行注入,解决多个类型匹配的问题。
- 指定自动注入的bean的名称(需要和@Autowired集合使用)
- @Value:
@Value
注解用于从外部属性文件或者 Spring 环境中读取值,并将这些值注入到 Spring 管理的 bean 的字段、构造函数参数、或者方法参数中。
- @PropertySource:
@PropertySource
注解用于在 Spring 环境中引入外部的属性文件,从而实现属性值的外部化配置。通过 @PropertySource
注解,可以告诉 Spring 容器要加载的属性文件的位置和名称。
- 加载properties文件(其路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符*)
- @Bean:表示当前方法的返回值是一个bean(配置第三方bean,使用在方法上)
- @Import:
@Import
注解用于在配置类中引入其他配置类,以便将它们的配置合并到当前配置中。通过 @Import
注解,可以将多个配置类组合在一起,以便统一管理和加载配置。
二、测试类的注解:
- @RunWith():设定类运行器。(@RunWith(SpringJUnit4ClassRunner.class))
- @ContextConfiguration():告诉测试类环境的配置(@ContextConfiguration(classes = SpringConfig.class))
三、事务方面的注解:
- @Transactional:代表开始事务,通常不写在实现类上,而是写到接口上
然后在Service中,被 @Transactional 注解的方法,将支持事务。如果注解在类上,则整个类的所有方法都默认支持事务
- @EnableTransactionManagement:事务总开关,即开启注解事务管理(放在SpringConfig类上方)
四、springMVC注解:
- @RequestMapping:@RequestMapping 是 Spring MVC 中的一个注解,用于将HTTP请求 映射 到控制器的处理方法上。它告诉 Spring MVC 何时调用特定的方法来处理请求。
- 是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上
- @ResponseBody: @ResponseBody 注解用于将方法的返回值直接作为 HTTP 响应的主体(Body)发送给客户端,而不是通过视图解析器渲染成视图。它通常用于 RESTful Web 服务中,用于返回 JSON、XML 或其他格式的数据给客户端。
- 2.1 设置当前操作的返回值类型(设置当前控制器方法响应内容为当前返回值,无需解析)
- 2.2 设置当前控制器返回值作为响应体
- @RequestParam:当请求参数名和形参参数名不一样的时候,可以使用@RequestParam()绑定请求参数和形参的关系。
- @RequestBody:@RequestBody 注解用于将 HTTP 请求的内容(例如 JSON 或 XML 格式的数据)绑定到方法的参数上,表示请求体的内容应该被映射到被注解标注的方法参数上。
- 将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次(传递json数据时使用)
- @EnableWebMvc:
@EnableWebMvc
注解是 Spring MVC 中的一个注解,用于启用 Spring MVC 框架的功能,以便在 Spring 应用程序中使用 MVC(Model-View-Controller)模式来处理 Web 请求。
- 开启SpringMVC多项辅助功能(开启自动转化json数据的支持,放在SpringMvcConfig上方)
- @PathVariable:
@PathVariable
注解用于从请求的 URL 路径中获取路径参数的值,并将其绑定到控制器方法的参数上。
- 绑定路径参数与处理器方法形参之间的关系,要求路径参数名与形参名一一对应。
五、REST风格注解:
- @RestController:设置当前控制器类为RESTful风格,等同于@Controller与ResponseBody两个注解组合功能
- @GetMapping:查询,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.GET)
- @PostMapping:新增/保存,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.POST)
- @PutMapping:修改/更新,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.PUT)
- @DeleteMapping:删除,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.DELETE)
原文地址:https://blog.csdn.net/weixin_64044840/article/details/137206776
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:https://www.suanlizi.com/kf/1775044502457815040.html
如若内容造成侵权/违法违规/事实不符,请联系《酸梨子》网邮箱:1419361763@qq.com进行投诉反馈,一经查实,立即删除!