SpringBoot常用注解

SpringBoot常用注解

 

@Controller

简介:

@Controller加在类上面的注解,使得类里面的每个方法都返回一个试图页面。

@Controller和@ResponseBody(加在方法/类上面)一起使用,和@RestController的作用相同,将json/xml数据发送到前台页面,而不是返回视图页面。

@Controller
public class HelloController {
 
    @GetMapping(value="/hello")
    public String say(){
        return "gril";
    }
}

依赖:

Spring 4.0

 

@Component

简介:

把普通pojo实例化到spring容器中,相当于配置文件中

泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。

依赖:

Spring 2.5

 

@Service

简介:

用于标注业务层组件

一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,类似的还包括@Component、@Repository、@Controller。

依赖

Spring 2.5

 

 

@Data

简介:

@Data可以为类提供读写功能,从而不用写get、set方法。他还会为类提供 equals()、hashCode()、toString() 方法。

依赖:

 
   org.projectlombok
   lombok
   1.16.10
 

@RestController、@RequestMapping

简介:

Spring4之后新加入的注解,@RestController和@RequestMapping注解是Spring MVC 的注解。原来返回json需要@ResponseBody和@Controller配合。即@RestController是@ResponseBody和@Controller的组合注解

@RequestMapping:注解提供“路由”信息。 告诉Spring,任何具有路径“/”的HTTP请求都应映射到home方法。

@RestController
@RequestMapping("sys/userorg")
public class SysUserOrgController extends AbstractController {
	@Autowired
	private SysUserOrgService sysUserOrgService;

	@GetMapping("/queryAll")
	// @RequiresPermissions("sys:teacher:queryAll")
	public RestResponse queryAll(@RequestParam Map params) {
		List list = sysUserOrgService.queryAll(params);
		return RestResponse.success().put("list", list);
	}
}

依赖:

Spring MVC 的注解

 

@GetMapping

简介:

Spring4.3中引进,@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping,帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义

依赖:

Spring MVC 的注解

 

@ResponseBody

简介:

将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据

@RequestMapping(path = "/hello", method = RequestMethod.POST)
@ResponseBody
public String helloWorld() {
	return "Hello Simon"
}
等价于:
@RequestMapping("/hello")
public void helloWorld(HttpServletResponse response){
	response.getWriter.write("Hello Simon");
}

依赖:

Spring MVC 的注解

 

@RequestParam

简介:

将指定的请求参数赋值给方法中的形参,限制了访问时候的参数内容,在参数中可以不加也可以访问接口,但是加了就必须这么传,不然会报错。

public RestResponse upload( @RequestParam("orgNo") String orgNo) {
}

括号中的参数:

(1)value:请求参数名(必须配置)

(2)required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)

(3)defaultValue:默认值,如果设置了该值,required 将自动设为 false,无论你是否配置了required,配置了什么值,都是 false(可选配置)

依赖:

Spring MVC 的注解

 

@Autowired自动装配

简介:

自动注入一个 Source 类型的 Bean 资源,对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法,实现从bean 工厂中获取一个bean时,Spring会自动为我们装配该bean中标记为@Autowired的元素。

@Service("sysCacheService")
public class SysCacheServiceImpl implements SysCacheService {
    @Autowired
    private JedisUtil jedisUtil;

    @Override
    public List queryAll(Map params) {
        return result;
    }
}

依赖:

Spring 2.5

 

@RequiresPermissions

简介:

它是shiro注解权限控制-5个权限注解之一(RequiresRoles、RequiresPermissions、RequiresAuthentication、RequiresUser、RequiresGuest),当前Subject需要拥有某些特定的权限时,才能执行被该注解标注的方法。如果当前Subject不具有这样的权限,则方法不会被执行。

依赖:

依赖于Shiro,

Shiro依赖于slf4j,commons-beanutils,commons-logging三个jar包

 

@Mapper

简介:

添加了@Mapper注解之后这个接口在编译时会生成相应的实现类,需要注意的是:这个接口中不可以定义同名的方法,因为会生成相同的id,也就是说这个接口是不支持重载的。用在DAO层

@Mapper
public interface UserDAO {

    @Select("select * from user where name = #{name}")
    public User find(String name);

    @Select("select * from user where name = #{name} and pwd = #{pwd}")
    /**
      * 对于多个参数来说,每个参数之前都要加上@Param注解,
      * 要不然会找不到对应的参数进而报错
      */
    public User login(@Param("name")String name, @Param("pwd")String pwd);
}

依赖:

依赖于mybatis

 

@TableName

简介:

声明此对象映射到数据库的数据表,通过它可以为实体指定表(talbe)。

@Data
@TableName("SYS_LOG")
public class SysLogEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    private String id;
    /**
     * 用户名
     */
    private String userName;
    /**
     * 用户操作
     */
    private String operation;
}

依赖:

mybatis-plus

 

 

 

 

 

 

 

 

你可能感兴趣的:(后端开发)