确定这个类是Spring MVC控制器处理器,用来创建一个处理http请求的对象。
@RestControllerSpring4之后添加的注释,原本需要@ResponseBody在@Controller中返回json。如果直接使用@RestController而不是@Controller,则不需要配置@ResponseBody,默认返回json格式。
@Service用来标记业务层组件,说白了,你有办法通过注释把这个类注入spring配置
@Autowired用来组装bean的可以写在字段或者方法上。
默认情况下,从属对象必须存在。如果希望允许空值,可以将其必需属性设置为false,例如:@Autowired(必需=false)
@RequestMapping类定义:提供初步的请求映射信息,相对于WEB应用程序的根目录。
方法:提供进一步的细分映射信息,相对于类定义中的URL。
@RequestParam用于将请求参数区域数据映射到函数处理方法的参数
例如
该id用于接收从接口传递的参数id的值。如果从接口传递的参数名称与您收到的不一致,也可以如下
课程_id是接口传递的参数,id是映射课程_id的参数名
@ModelAttribute有三个使用场所:
1、标注上方法。
方法上的标记将在@RequestMapping标记的每个方法之前执行。如果有返回值,返回值将自动添加到模型映射中。
(1)关于回报的方法:
当模型属性设置值时,方法返回的值将把该值作为键,参数接收的值作为值,存储在模型中。比如下面的方法执行后,最终会等价于model。addattribute ("user _ name ",name);如果@ModelAttribute没有自定义值,它相当于
model.addAttribute("name ",name);
(2)关于不返还的方法:
需要手动模型添加方法
我们在当前类下创建一个请求方法:
在浏览器中输入访问地址并添加参数:
http://localhost:8081/API/test/mod?名字=我是一个小盘&年龄=12
最终输出如下:
2.在方法的参数上标记出来。
标记在方法的参数上,客户端传递的参数会按名称注入到指定的对象中,这个对象会自动添加到ModelMap中,方便View图层使用。我们在上面的类中添加了一个方法,如下所示
在浏览器中输入访问地址并添加参数:
http://localhost:8081/API/test/mod 2?名字=我是一个小盘&年龄=12
最终输出:
从结果可以看出,方法参数中使用的@ModelAttribute标注实际上是接受参数,并自动放入Model对象中,使用方便。
@Cacheable用于标记缓存的查询。它可以用在方法或类中。当它被标记在一个方法上时,意味着该方法支持缓存。当它被标记在一个类上时,这意味着该类的所有方法都支持缓存。
参数列表
例如,@ cache able(value =“UserCache”)表示当调用标记有此批注的方法时,默认情况下,该逻辑会添加从缓存中获取结果的逻辑。如果缓存中没有数据,则执行用户编写的查询逻辑,查询成功后同时将结果放入缓存。
说到缓存,是键值的形式,所以key是方法中的参数(id),value是查询的结果,在spring * .xml中定义了名为空的UserCache。
@CacheEvict用于标记清除空缓存的方法。调用此方法时,空缓存将被清除。@缓存驱逐(value=“用户缓存”)
参数列表
@Resource装配顺序:1.如果同时指定了名称和类型,将从Spring上下文中为程序集找到唯一匹配的bean,如果没有找到,将引发异常。
2.如果指定了名称,请从程序集的上下文中找到具有匹配名称(id)的bean,如果找不到它,将引发异常。
3.如果指定了类型,将从程序集的上下文中找到具有匹配类型的唯一bean。如果没有找到或找到多个beans,将引发异常
4.如果既没有指定名称也没有指定类型,将根据byName自动执行程序集。如果没有匹配,则回到原型号进行匹配,如果有匹配,则自动装配;
PreDestroy由@PreDestroy修饰的方法将在服务器卸载Servlet时运行,并且只被服务器调用一次,类似于Servlet的Destroy()方法。在Servlet完全卸载之前,用@PreDestroy修饰的方法将在Destroy()方法之后运行
@Repository用于标记数据访问组件,即DAO组件
@Component一般指组件。当组件没有很好地分类时,我们可以使用这个注释来标记它们
@Scope用于配置spring bean的作用域,它标识了bean的作用域。
默认值为单个实例
1.singleton: singleton模式,全局只有一个实例
2.原型:原型模式,每次你得到一个Bean时都会有一个新的实例
3.请求:请求意味着将为每个HTTP请求生成一个新的bean,并且该bean只在当前的HTTP请求中有效
4.会话:会话范围意味着将为每个HTTP请求生成一个新的bean,并且该bean只在当前的HTTP会话中有效
5.全局会话:它只在门户应用程序中有用。为每个全局http会话创建一个新的Bean实例。
@SessionAttributes默认情况下,Spring MVC将数据存储在请求字段的模型中。当请求完成时,数据就变得无效。如果你想跨页使用。然后你需要使用会话。@SessionAttributes注释可以使模型中的数据存储在会话域中
参数:
1.names:这是一个字符串数组。应该在其中写入要存储在会话中的数据的名称。
2.类型:根据指定的参数类型,将模型中相应类型的参数存储到进程中
3.值:它与名称相同。
@Required适用于bean属性设置器方法,并指示在配置XML配置文件时必须填写受影响的bean属性。否则,容器将引发BeanInitializationException异常。
@Qualifier当您创建多个具有相同类型的bean,并且希望只组装其中一个具有一个属性的bean时,在这种情况下,您可以使用@Qualifier注释和@Autowired注释,通过指定将组装哪个真正的bean来消除混淆。
1.《Qualifier 16个Spring注解,你知道的有几个?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《Qualifier 16个Spring注解,你知道的有几个?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1078031.html