注解说明

注解说明
-@Autowired 自动装配通过类型。名字
如果@Autowired不能唯一自动装配,通过@Qualifier(value = “xxx”)
-- @Nullable 说明该字段可以为空
-@Resource 自动装配通过名字。类型

--@Component 组件 //相当于<bean id="user" class="com.ma.pojo.User"></bean>
放在类上,说明这个类被spring管理了,就是bean

-- @Value("xxx") 给参数赋值
//相当于<property name="name" value="xxx"/> 也可以用在set方法上  

pojo--@Component
dao—@Repository
service—@Service
controller-- @Controller

    在javaconfig中用
@Configuration  // @Configuration代表这是一个配置类,与applicationContext.xml一样

@ComponentScan(basePackages = "com.ma") //使用启用组件扫描
@Import(xxxconfig.class) //导入其他配置
@Bean //注册一个bean,就相当于bean标签
@Scope 注解的目的是用来调节作用域
@Scope("prototype")//多实例,IOC容器启动创建的时候,并不会创建对象放在容器在容器当中,当你需要的时候,需要从容器当中取该对象的时候,就会创建。
@Scope("singleton")//单实例 IOC容器启动的时候就会调用方法创建对象,以后每次获取都是从容器当中拿同一个对象(map当中)。
@Scope("request")//同一个请求创建一个实例
@Scope("session")//同一个session创建一个实例

Springmvc

注解

@RequestParam请求接口时,URL是:http://www.test.com/user/getUserById?userId=1

//@RequestParam用法,注意这里请求后面没有添加参数

@RequestMapping(value = "/test",method = RequestMethod.POST)

public Result test(@RequestParam(value="id",required=false,defaultValue="0")String id)

注意上面@RequestParam用法当中的参数。

<pre style="background:white">@PathVariable("xxx")</pre>

<pre style="margin-left:21.0pt;mso-para-margin-left:2.0gd;background:white">通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“) </pre>

<pre style="margin-left:21.0pt;mso-para-margin-left:2.0gd;background:white">@RequestMapping(“user/{id}/{name}”)</pre>

<pre style="margin-left:21.0pt;mso-para-margin-left:2.0gd;background:white">请求路径:http://localhost:8080/user/1/james</pre>

@PathVariable主要用于接收http://host:port/path/{参数值}数据。@RequestParam主要用于接收http://host:port/path?参数名=参数值数据,这里后面也可以不跟参数值。

@Controller 控制层

@RequestMapping("/xxx/{xxx}")请求

Post请求:@RequestMapping(value="/test",method = RequestMethod.POST)

RequestMapping中有六个属性分别是:

value: 指定请求的实际地址,指定的地址可以是URI Template 模式;

method: 指定请求的method类型, GET、POST、PUT、DELETE等;

consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

params: 指定request中必须包含某些参数值是,才让该方法处理。

headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
@ResponseBody 不会通过视图解析器 直接传递一个字符串
就可以理解成将java的对象转换成json字符串的格式给前端解析
@RequestBody 来处理请求的json格式数据

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

推荐阅读更多精彩内容