SSM集成框架常见注解的使用

@requestParam


此注解出于String-mvc框架中

在框架中使用注解驱动的时候注意要在对应的.xml文件中打开注解扫描器.新手坑

注解驱动声名:<context:component-scan base-package="com.zyh.string.service"/>

@requestParam注解主要用于接收前端传来的参数,注解中有两个属性:required(必要的)默认required=true:意思为requestParam中声名的参数必须要存在,这是一个我必须要的值,如果没有接收到这个参数的话系统会报400错误,若是required=flase则是表明当前参数我就算没有接收到也没关系,会给当前参数一个null.

@requestParam中的另外一个属性defaultValue:默认值,给当前参数一个默认值,若是前端没传我需要的这个参数,或者是前后端参数名不一致,但是我又必须要一个值的话就可以由defaultValue给一个默认值

public String testRequestParam(@RequestParam(value="name") String username)

{

System.out.println("执行了...");        System.out.println(username);        return "success";

}

鸡肋处:直接在( )中可以直接声名参数名字  eg:(string userId),参数类型  : 前端对应的参数名字


@Controller

使用在控制层,把当前类对象交给容器去实现


@requestMapping

使用在类前或者方法前面,注意一个controller并非就是一个servlet,实际上一个被加上@controller类的方法就是一个service(),用来处理请求.

@requestMapping("/user")用在class上则需要先进这个user在进入标注在方法上面的@requestMapping("/method1").


重点来了:自动装配,在使用参数传递中我们不可能只获取到简单类型的参数那么若是得到复杂类型的参数那么我们该怎么做呢?

@requestBody

当前端传了json数据的时候,一般是通过post请求携带在body中的,那么可以使用requestBody来接收数据


@responseBody

把数据发送到前端(会自动把return后面的对象转换为json数据发送到前端)

常和@RequestMapping()放在一起使用,将当前请求中的数据发送给前端,不要用在类前面.



@RestController = @Controller + @responseBody 的效果(我不建议这个么去做,不严谨)

@RestController

@RequestMapping("/carts")

public class CartsController {

@Resource

    CartsService cartsService;


@Autowide按照类型注入,  若是接口多实现想要按照名字注入则配合 @Qualifiter(name="serviceImpl01")

常常在一起使用,来自于框架

@Resource 来自jdk

默认按照名字注入,若是不存在则使用按照Type去注入,所以别乱用其中的name属性,

若是使用了@resource(name= "servicrImpl02")则只会按照名字去找了,不会去找Type

解决接口多实现问题的依赖注入

方法1:@Autowide  @Qualifiter(name="serviceImpl01")  按照名字去找对应实现,

方法2:@resource(name= "servicrImpl02")去找


@PathVariable

将传入后端中的模板参数取其中的某个作为当前对象的参数

@RequestMapping(value = "treeList/{typeAlias}.xml")

@ResponseBody

public TreeList treeList(@PathVariable("typeAlias") String typeAlias) {

}



@Configuration:

用在类上@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>
其实就是相当于一个xml的文件,@bean就是容器中声名的对象.其中可以有属性,属性可以是return product;
就是返回当前的@configguration中注入容器中的@bean对象.

@bean:用在方法上  等价于spring的xml配置文件中的<bean>,作用为:注册bean对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。