注解可以用在类,方法,方法的参数上

@ResponseBody

Spring以字符串的形式渲染结果并将结果直接填充到HTTP的响应体中,直接返回给调用者,常用于构建RESTful的api

@Controller

用于定义控制器类,处理http请求在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)

@RestController

@ResponseBody和@Controller的合集,返回json

注意@Controller和@RestController在使用上的区别

@RequestMapping('/path')

配置URL映射,拦截'/*'的http请求

多个URL访问一个方法:@RequestMapping(value={"/path1","/path2"})

@Component

泛指组件,常在公用类上使用或当组件不好归类时

@Controller @Service @Repository 和 @Component在大多数的情况下是等效的

@ComponentScan

表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括不限于@Controller、@Service、@Repository、@Component和@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。

@Autowired

自动导入依赖的bean

@Import

用来导入其他配置类。

@ImportResource

用来加载xml配置文件

@Configuration

相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类

可以使用@ImportResource注解加载xml配置文件。

@EnableAutoConfiguration

Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用

@SpringBootApplication

相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。

@Service

一般用于修饰service层的组件

@Repository

使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

@RequestParam

这是一个用在方法上的注解

获取提交的参数,赋值给指定的参数,java中可以直接使用这个变量

html代码

    <input type="text" name="userName"> 
    <input type="number" name="userType">   

1、基本使用,用于获取提交的参数

    public boolean userInfo(@RequestParam String userName){
        return userName.length() > 5 ? true : false;
    }

2、要求传指定的参数名,否则报HTTP 400错误

    public boolean userInfo(@RequestParam(value = "userName") String username){
        return username.length() > 5 ? true : false;
    }

3、使用 required=true/false 配置是否一定要传指定的参数

    public boolean userInfo(@RequestParam(value="userName",required=true) String username){
        return username.length() > 5 ? true : false;
    }

4、参数为int类型,且required=false时,如果不传参数,则spring默认赋值null给参数,解决办法使用包装类型代替基本类型

    @RequestParam(value="userType", required=false) Integer userType;

@PathVariable

配合@RequestMapping,将路径中的值传递到参数上

    @RequestMapping("/userId/{paramId}")
    public void userInfo(@PathVariable(name="paramId") String userId){
        //dosomethhing
    }

更新日志:
2017/03/27 @controller @Service @Repository @Component区别和联系
2017/07/27

标签: Spring, 注解

添加新评论