@PostConstruct 由JSR-250提供,在构造函数执行完之后执行,等价于xml配置文件中bean的initMethod
@PreDestory 由JSR-250提供,在Bean销毁之前执行,等价于xml配置文件中bean的destroyMethod
@Value 为属性注入值(属性上)
@Profile 通过设定Environment的ActiveProfiles来设定当前context需要使用的配置环境。(类或方法上)
@RequestMapping 用于映射Web请求,包括访问路径和参数(类或方法上)
@ResponseBody 支持将返回值放在response内,而不是一个页面,通常用户返回json数据(返回值旁或方法上)
@RequestBody 允许request的参数在request体中,而不是在直接连接在地址后面。(放在参数前)
@PathVariable 用于接收路径参数,比如@RequestMapping(“/hello/{name}”)申明的路径,将注解放在参数中前,即可获取该值,通常作为Restful的接口实现方法。
@RestController 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都默认加上了@ResponseBody。
@ControllerAdvice 通过该注解,我们可以将对于控制器的全局配置放置在同一个位置,注解了@Controller的类的方法可使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上,这对所有注解了 @RequestMapping的控制器内的方法有效。
@ExceptionHandler 用于全局处理控制器里的异常
@InitBinder 用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到Model中。
Spring IOC
应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护。DI(依赖注入)是其一种实现方式,目的:创建对象并且组装对象之间的关系。
获得依赖对象的过程被反转了。
Spring 注入是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为。
控制反转实质就是控制对象的创建,对象的创建交给spring容器进行,用spring来创建对象
Spring IOC就是利用Spring帮我们创建,管理(对象声明周期),装配(对象的依赖关系)。
Spring AOP
面向切面编程
指在程序运行期间,将某段代码动态的切入到指定方法的指定位置进行运行的这种编程方式称为面向切面编程。