纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Spring框架注解 Spring框架学习常用注解汇总

guoyp2126   2021-10-09 我要评论
想了解Spring框架学习常用注解汇总的相关内容吗guoyp2126在本文为您仔细讲解Spring框架注解的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Spring框架学习,Spring常用注解汇总下面大家一起来学习吧

类注解

@component 标注类泛指各种组件类不属于各种分类的时候用它做标注
@Service 标注类声明该类为业务层组件用于处理业务逻辑

@Repositor 标注类声明该类为持久层的接口使用后在启动主程序类上需要添加@MapperScan(“xxx.xxx.xxx.mapper”)注解
@Mapper 标注类用在持久层的接口上注解使用后相当于@Reponsitory加@MapperScan注解,会自动进行配置加载

@Configuration Spring3.0以上声明该类是一个配置类可以使用@Configuration用于定义配置类可替换xml配置文件被注解的类内部包含有一个或多个被@Bean注解的方法

@Aspect 标注类 声明这个类是一个切面类

@Controller 标注类声明该类为Spring MVC controller处理器组件用于创建处理http请求的对象
@RestController 标注类声明该类为Rest风格控制器组件该注解是Spring4之后加入的注解用它替代@Controller就不需要再配置@ResponseBody默认返回json格式

@RequestMapping:既可以注解在类上也可以注解在类的方法上该类提供初步的请求映射信息注解在类上是相对于 Web 根目录注解在方法上的是相对于类上的路径

@Controller
@RequestMapping("/user")
public class UserController {
 	@RequestMapping("/login")
	public String login() {
		return "success";
	}

此时调用时使用:http://IP地址:端口号/网站根路径/user/login

方法或属性上注解

@Autowired 用来装配bean可以写在字段或者方法上默认情况下必须要求依赖对象必须存在如果要允许null值可以设置它的required属性为false如:@Autowired(required=false)
@Qualifier 如果一个接口有两个或者两个以上的实现类就要使用到@Qualifier注解qualifier的英文含义是合格者的意思通过此注解标注那个实现类才是这次要用到的实现类如:

@Service("service")
public class EmployeeServiceImpl implements EmployeeService {
    public EmployeeDto getEmployeeById(Long id) {
        return new EmployeeDto();
    }
}
@Service("service1")
public class EmployeeServiceImpl1 implements EmployeeService {
    public EmployeeDto getEmployeeById(Long id) {
        return new EmployeeDto();
    }
}

service和service1同时实现接口EmployeeService@Autowired注入时通过@Qualifier告诉spring要哪一个实现类代码如下

@Autowired
@Qualifier("service")
EmployeeService employeeService;

此处是service而不是service1

@Bean 与@Configuration标注类配合使用等同于xml文件配置的bean如:

<bean id="user" class="com.zhang.bean.User">
     <property name="userName" value="zhangsan"></property>
     <property name="age" value="26"></property>
</bean>

等同于

 @Bean
    public User getUser(){
        User user = new User();
        user.setUserName("zhangsan"),
        user.setAge(26),
        return user;
    }

@After、@Before、@Around:与@Aspect配合使用直接将切点作为参数在方法执行之后执行、之前执行及之前和之后均执行
@RequestBody:可用在方法上也可以用在参数上注解在方法上代表用户返回json数据而不是页面

参数注解

@RequestBody:注解在方法的参数上代表接收的参数是来自requestBody中即请求体用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据如:application/json、application/xml等类型的数据使用注解@RequestBody可以将body里面所有的json数据传到后端后端再进行解析

@RequestParam:使用在方法参数参数上接收的参数是来自HTTP请求体或请求url的QueryString中可以接受简单类型的属性也可以接受对象类型@RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容Content-Type默认为该属性

@PathVariable: 使用在方法参数参数上当@RequestMapping URI template 样式映射时 paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上如:

@Controller
@RequestMapping("/user/{Id}")
public class DemoController {
  @RequestMapping("/pets/{petId}")
  public void queryPetByParam(@PathVariable String Id,@PathVariable String petId) {    
    // implementation
  }
}

相关文章

猜您喜欢

  • React组件的生命周期 React组件的生命周期详细描述

    想了解React组件的生命周期详细描述的相关内容吗Darlingmi在本文为您仔细讲解React组件的生命周期的相关知识和一些Code实例欢迎阅读和指正我们先划重点:React组件,React组件生命周期下面大家一起来学习吧..
  • vue过度与动画transition 详解vue过度效果与动画transition使用示例

    想了解详解vue过度效果与动画transition使用示例的相关内容吗guoyp2126在本文为您仔细讲解vue过度与动画transition的相关知识和一些Code实例欢迎阅读和指正我们先划重点:vue过度动画,transition动画下面大家一起来学习吧..

网友评论

Copyright 2020 www.gamerfx.net 【游戏天空】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式