1. @Repository 容器
    2. /*
    3. * 通过注解将当前类交个IOC容器管理之后,默认在IOC容器中对象的id是类名的首字母小写,
    4. * 我们可以通过注解的value属性来指定该id,而且value属性名可以省略不写
    5. */
    6. @Service
    7. @Autowired 自动装配
    8. /*
    9. * 自动装配的规则:
    10. * 1.根据属性类型实现自动装配
    11. * 2.如果根据类型无法实现自动装配,会以属性名作为id从IOC容器中寻找以实现自动装配
    12. * 3.如果通过1和2都不能实现自动装配,可以通过@Qualifier注解的vlaue属性来指定id以实现自动装配
    13. */
    14. @Autowired(required=false)
    15. /*
    16. * 添加了@Autowired注解的属性默认必须注入成功,否则会抛出异常,我们可以通过设置该
    17. * 注解的required属性的值为false来告诉Spring当前属性可以不装配
    18. */
    19. @Qualifier("...")
    20. /*
    21. *可指定某个类型的注解
    22. */
    23. @Controller 控制器
    24. /*
    25. *控制器,放在类前
    26. */
    27. @RestController 控制器
    28. /*
    29. *@RestController = @Controller + @ResponseBody
    30. *使用注解后,@Controller和@RequestBody失效
    31. */
    32. @RequestMapping("/...") 映射
    33. @RequestMapping(value= {"/...","/..."})
    34. @RequestMapping(value="/...",method=RequestMethod.GET)
    35. /*
    36. * @RequestMapping注解中的属性:
    37. * 1.value:用来设置要映射的请求地址,值的类型是String类型的数组
    38. * 如果只映射一个请求地址,那么vlaue的值不需要添加大括号{},value属性名可以省略不写
    39. * 2.method:用来设置要映射的请求方式
    40. *如果没有设置该属性,那么只看映射的请求地址,不管请求方式
    41. */
    42. @RequestParam 请求注解
    43. /*
    44. * @RequestParam注解:
    45. * 用来映射请求参数
    46. * 如果Handler的方法的入参中的参数名与请求参数的参数名一致,那么该注解可以省略不写(不建议)
    47. * 该注解的属性:
    48. * 1.value
    49. * 设置请求参数的参数名
    50. * 2.required
    51. * 设置该请求参数是否是必须的,默认是true
    52. * 3.defaultValue
    53. * 设置请求参数的默认值,如果没有传入该请求参数将使用该值
    54. */
    55. @RequestMapping("/testRP")
    56. public String testparam(@RequestParam(value="username")String username,
    57. @RequestParam(value="age",required=false,defaultValue="0")Integer age) {
    58. return "success";
    59. }
    60. SpringMVC Handler 方法可以接受哪些 ServletAPI 类型的参数
    61. HttpServletRequest
    62. HttpServletResponse
    63. HttpSession
    64. public String testServletAPI(HttpServletRequest request , HttpServletResponse response) {
    65. //获取请求参数
    66. String username = request.getParameter("username");
    67. System.out.println(username);
    68. return "success";
    69. }
    70. <!-- 配置解决POST请求中文乱码问题的过滤器CharacterEncodingFilter -->
    71. <filter>
    72. <filter-name>CharacterEncodingFilter</filter-name>
    73. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    74. <init-param>
    75. <param-name>encoding</param-name>
    76. <param-value>UTF-8</param-value>
    77. </init-param>
    78. <init-param>
    79. <param-name>forceEncoding</param-name>
    80. <param-value>true</param-value>
    81. </init-param>
    82. </filter>
    83. <filter-mapping>
    84. <filter-name>CharacterEncodingFilter</filter-name>
    85. <url-pattern>/*</url-pattern>
    86. </filter-mapping>
    87. @ComponentScan 扫描
    88. @ComponentScan(basePackages="com.atguigu.springboot")
    89. /*
    90. *用来设置自动扫描的包,如果没有指定basePackages属性,默认扫描当前类所在的包及其子包
    91. */