1.@Configuration注解
该类等价 与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean,与xml中配置的bean意思一样。
2.@Value注解
为了简化从properties里取配置,可以使用@Value, 可以properties文件中的配置值。
在dispatcher-servlet.xml里引入properties文件。
@Value(“${wx_appid}”)
3.@PostConstruct 和 @PreDestory
实现初始化和销毁bean之前进行的操作,只能有一个方法可以用此注释进行注释,方法不能有参数,返回值必需是void,方法需要是非静态的。
4.@Primary
自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常。
5.@Lazy(true)
用于指定该Bean是否取消预初始化,用于注解类,延迟初始化。
6.@Async
而使用@Async可视为第4种方法。基于@Async标注的方法,称之为异步方法,这个注解用于标注某个方法或某个类里面的所有方法都是需要异步处理的。被注解的方法被调用的时候,会在新线程中执行,而调用它的方法会在原来的线程中执行。
7.@Named
@Named和Spring的@Component功能相同。@Named可以有值,如果没有值生成的Bean名称默认和类名相同。
8.@Valid
网上一大片使用@Valid失效不能用的情况。为什么呢?
1.@Valid必需使用在以@RequestBody接收参数的情况下。
2.使用ajax以POST方式提示数据,禁止用Fiddler以及浏览器直接访问的方式测试接口
3.用<mvc:annotation-driven />添加注解驱动。
- @Valid是应用在javabean上的校验。
9.@NotBlank
检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.
- @AssertTrue
验证 Boolean 对象是否为 true
- @CrossOrigin
是Cross-Origin ResourceSharing(跨域资源共享)的简写
作用是解决跨域访问的问题,在Spring4.2以上的版本可直接使用。在类上或方法上添加该注解
- @RestController
@RestController = @Controller + @ResponseBody。
- @GetMapping和@PostMapping
@GetMapping(value = “page”)等价于@RequestMapping(value = “page”, method = RequestMethod.GET)
@PostMapping(value = “page”)等价于@RequestMapping(value = “page”, method = RequestMethod.POST)
- @MapperScan
指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类。
在spring的xml文件里配置。
@MapperScan(basePackages = "com.travelsky.acki.db.dao",sqlSessionFactoryRef = "masterSqlSessionFactory")