@PostConstruct
在bean初始化之后调用方法,可以用@PostConstruct标识该方法
@PreDestory
在bean被销毁前调用该方法,可以用@PreDestory标识该方法
@ModelAttribute
作用在方法参数上:将之前model中的属性赋值到参数的属性中
@RequestBody
将请求体中参数赋值到方法参数(对象)的属性中,用于post请求中。
关于这个注解,需要注意在一个方法中(handler)不能使用两个以上@RequestBody
@RequestParam
把url?后面的参数赋值到指定名称的参数上。如果参数不写RequestParam,默认也会从url中相同参数名称获取参数值赋值到对应的变量中。比如有void test(String name),假如url为/app/tesdad?name=huangy,那么就会把huangy赋值给name参数。
@ResponseBody
将方法返回的结果添加到响应体中(不能使用重定向行为 ‘redirect:/xxxx’),返回类型为json
@Component
该注解声明的类,将会添加到容器中,可以通过容器获得
@Service
注解声明的类,将会添加到容器中,可以通过容器获得。假如在一个类上面声明@Service,这个类叫做CustomerService,那么通过ref=’customerService’就可以获得这个bean
@Resource
bean的注入,@Resource按照名称(byName)注入
@Autowire
bean的注入,@Autowire按照类型注入
@Controller
定义一个控制器类的bean
@RestController
1、同样定义一个控制器类,多了一些特征
2、每一个@RequestMapping上默认添加了@ResponseBody
3、支持Rest客户端异步无阻塞
@RequestMapping
1、@RequestMapping映射url到控制器类或者方法上。当@RequestMapping标记在类上面时,方法中@RequestMapping的请求地址都是相对类上的@RequestMapping的请求地址而言的;当Controller上没有@RequestMapping标记,方法上的@RequestMapping都是绝对路径。
2、URI模板:
a、现在有URI模板/test/{variable},假如请求URL为/test/hello,该URL跟模板相匹配,就把{variable}替换成hello
b、@PathVariable:标记一个方法参数,该参数的值将使用URI模板中对应的变量的值来赋值
3、属性:
a、produces : 可以指定返回内容的类型(如application/json),也可以指定返回内容的编码(如charset=UTF-8)
b、consumes : 可以指定提交数据的类型
c、value : 指定url
d、method : 指定HTTP请求方法(如RequestMethod.POST)
@interface
定义一个注解: @interface Name {}
@Rentention
该注解的保留级别(该注解在什么时候是可见的)
@Target
设定注解的使用范围
@Inherited
该如果一个注解被用在A类上,B类继承A类,B类自动继承父类的这个注解
@Value
@Value可以读取配置文件属性的值(包括配置中心的文件)
@Value("${dubbo.application.name}") private String applicationName;
@
Scheduled
@Scheduled(cron = "${notice.timed.send.schedule}") 实现配置中心配置时间
1、使用@Controller注解,必须添加配置: ` <context:component-scan base-package="com.mall.web"/>
<!-- 处理@Controller的使用前置配置 -->
<mvc:annotation-driven/>`
2、加载spring配置文件的方式:
<!-- spring MVC的核心就是DispatcherServlet,使用springMVC的第一步就是将下面的servlet放入web.xml
servlet-name属性非常重要,默认情况下,DispatchServlet会加载这个名字-servlet.xml的文件,如下,就会加载
dispather-servlet.xml,也是在WEN-INF目录下。
-->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 设置dispatchservlet的匹配模式,通过把dispatchservlet映射到/,默认servlet会处理所有的请求,包括静态资源 -->
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>