@Repository  容器/* * 通过注解将当前类交个IOC容器管理之后,默认在IOC容器中对象的id是类名的首字母小写, * 我们可以通过注解的value属性来指定该id,而且value属性名可以省略不写 */@Service@Autowired 自动装配/* * 自动装配的规则: * 1.根据属性类型实现自动装配 * 2.如果根据类型无法实现自动装配,会以属性名作为id从IOC容器中寻找以实现自动装配 * 3.如果通过1和2都不能实现自动装配,可以通过@Qualifier注解的vlaue属性来指定id以实现自动装配 */@Autowired(required=false)/* * 添加了@Autowired注解的属性默认必须注入成功,否则会抛出异常,我们可以通过设置该 * 注解的required属性的值为false来告诉Spring当前属性可以不装配 */@Qualifier("...")/* *可指定某个类型的注解 */@Controller 控制器/* *控制器,放在类前 */@RestController 控制器/* *@RestController = @Controller + @ResponseBody *使用注解后,@Controller和@RequestBody失效 */@RequestMapping("/...")    映射@RequestMapping(value= {"/...","/..."})@RequestMapping(value="/...",method=RequestMethod.GET)/** @RequestMapping注解中的属性: * 1.value:用来设置要映射的请求地址,值的类型是String类型的数组 * 如果只映射一个请求地址,那么vlaue的值不需要添加大括号{},value属性名可以省略不写 * 2.method:用来设置要映射的请求方式 *如果没有设置该属性,那么只看映射的请求地址,不管请求方式 */@RequestParam 请求注解/** @RequestParam注解: * 用来映射请求参数 * 如果Handler的方法的入参中的参数名与请求参数的参数名一致,那么该注解可以省略不写(不建议) * 该注解的属性:* 1.value * 设置请求参数的参数名 * 2.required* 设置该请求参数是否是必须的,默认是true * 3.defaultValue * 设置请求参数的默认值,如果没有传入该请求参数将使用该值 */@RequestMapping("/testRP")    public String testparam(@RequestParam(value="username")String username,        @RequestParam(value="age",required=false,defaultValue="0")Integer age) {        return "success";    }SpringMVC 的 Handler 方法可以接受哪些 ServletAPI 类型的参数★HttpServletRequest★HttpServletResponse★HttpSessionpublic String testServletAPI(HttpServletRequest request , HttpServletResponse response) {    //获取请求参数    String username = request.getParameter("username");    System.out.println(username);    return "success";}<!-- 配置解决POST请求中文乱码问题的过滤器CharacterEncodingFilter -->    <filter>        <filter-name>CharacterEncodingFilter</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>UTF-8</param-value>        </init-param>        <init-param>            <param-name>forceEncoding</param-name>            <param-value>true</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>CharacterEncodingFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>@ComponentScan 扫描@ComponentScan(basePackages="com.atguigu.springboot")/* *用来设置自动扫描的包,如果没有指定basePackages属性,默认扫描当前类所在的包及其子包 */