SpringMVC注解和配置,fastJson的初步学习

@Controller

@Controller负责处理前端控制器(DispatcherServlet )发过来的请求,经过业务逻辑层处理之后封装层一个model,并将其返回给view进行展示

@RestController

@RestController = @Controller + @ResponseBody(@ResponseBody 注解是将返回的数据结构转换为 JSON 格式)

@RequestMapping(value="/hello",method={RequestMethod.GET})

@RequestMapping用来处理请求地址映射

@RequestParam(value="username",required=true,defaultValue=null)

@RequestParam获取请求参数,可以用在对象属性名与方法参数名不一样的场景中

@PathVariable

@PathVariable注解用来获取 URL 参数,用于支持Restful风格的 URL,请求的URL也需要相应地有所改变。
例如:GetMapping(“user/{id}”)

@ResponseBody

@ResponseBody要写在方法名上。如果加上@ResponseBody注解,就不会走视图解析器,不会返回页面,返回的是json数据(所以你应该return字符串,而不是URL地址)。如果不加@ResponseBody,就走视图解析器,返回页面

@RequestBody

@RequestBody用于接收前端传来的实体,要写在方法的参数前,只能发送POST请求。

<!--前端JSON和js对象之间的转换-->
<script type="text/javascript">
   //编写一个js的对象
   var user = {
       name:"秦疆",
       age:3,
       sex:"男"
  };
   //将js对象转换成json字符串
   var str = JSON.stringify(user);
   console.log(str);
   
   //将json字符串转换为js对象
   var user2 = JSON.parse(str);
   console.log(user2.age,user2.name,user2.sex);

</script>

统一解决JSON在SpringMVC中的乱码问题

<mvc:annotation-driven>
   <mvc:message-converters register-defaults="true">
       <bean class="org.springframework.http.converter.StringHttpMessageConverter">
           <constructor-arg value="UTF-8"/>
       </bean>
       <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
           <property name="objectMapper">
               <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
                   <property name="failOnEmptyBeans" value="false"/>
               </bean>
           </property>
       </bean>
   </mvc:message-converters>
</mvc:annotation-driven>

fastJSON部分方法的使用

public class FastJsonDemo {
   public static void main(String[] args) {
       //创建一个对象
       User user1 = new User("秦疆1号", 3, "男");
       User user2 = new User("秦疆2号", 3, "男");
       User user3 = new User("秦疆3号", 3, "男");
       User user4 = new User("秦疆4号", 3, "男");
       List<User> list = new ArrayList<User>();
       list.add(user1);
       list.add(user2);
       list.add(user3);
       list.add(user4);

       System.out.println("*******Java对象 转 JSON字符串*******");
       String str1 = JSON.toJSONString(list);//返回数组的JSON字符串
       System.out.println("JSON.toJSONString(list)==>"+str1);
       String str2 = JSON.toJSONString(user1);//返回对象的JSON字符串
       System.out.println("JSON.toJSONString(user1)==>"+str2);

       System.out.println("\n****** JSON字符串 转 Java对象*******");
       User jp_user1=JSON.parseObject(str2,User.class);//把User的JSON字符串转换成Java对象
       System.out.println("JSON.parseObject(str2,User.class)==>"+jp_user1);

       System.out.println("\n****** Java对象 转 JSON对象 ******");
       JSONObject jsonObject1 = (JSONObject) JSON.toJSON(user2);//把一个User对象转换成JSON对象
       System.out.println("(JSONObject) JSON.toJSON(user2)==>"+jsonObject1.getString("name"));//获取JSON对象某个属性的值

       System.out.println("\n****** JSON对象 转 Java对象 ******");
       User to_java_user = JSON.toJavaObject(jsonObject1, User.class);//将一个JSON对象转成一个指定的java对象
       System.out.println("JSON.toJavaObject(jsonObject1, User.class)==>"+to_java_user);
  }
}

输入结果:
img
lombok依赖要引入的几个必要注解:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class person(){
  
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值