1、@Repository用于标注数据访问组件,即DAO组件;
@Service用于标注业务层组件,service组件
@controller定义控制器,相当于action,与@RequestMapping配合使用;
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
2、@MapperScan("com.xxx.**.**.dao"),扫描定义路径下的包;
3、@SpringBootApplication注解,替代了三个注解@Configuration、@EnableAutoConfiguration、@ComponentScan ;
4、@RestController,与controller的区别是return的字符串是字符串,而controller是路径;
5、@RequestMapping(value="/addOrUpdateCustomer",method=RequestMethod.POST),定义路由;
6、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。
@Resource,@Autowired,@Inject 这3种都是用来注入bean的,它们属于不同的程序中。
ANNOTATION | PACKAGE | SOURCE |
---|---|---|
@Resource | javax.annotation | Java JSR-250 |
@Inject | javax.inject | Java JSR-330 |
@Autowired | org.springframework.bean.factory | Spring 2.5+ |
@Resource 有两个关键属性:name-名称,type-类型
- 如果指定了name,type,则从Spring容器中找一个名称和类型相当应的一个bean,找不到则报错。
- 如果只指定了name,则从Spring容器中找一个名称和name一样的bean,找不到则报错。
- 如果只指定了type,则从Spring容器中找一个类型和type一样的bean,找不到或者找到多个则报错。
- 如果没有指定参数,则默认找字段名称装配,找不到则按类型装配,找不到则报错。
@Autowired
-
默认按类型装配,找不到或者找到多个则报错。
-
如果要按名称装配,需要结合Spring另外一个注解Qualifier("name")使用。
@Inject
- 和@Autowired类似,可以完全代替@Autowired,但这个没有required属性,要求bean必须存在。
- 如果要按名称装配,需要结合javax另外一个注解N("name")使用
7、@ApiOperation注解不是spring的,是swagger的,用来构建Api文档
- @ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =“接口返回参数类型”, notes = “接口发布说明”;
8、@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值
语法:
@PathVariable("xxx")
通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“)
@RequestMapping(value=”user/{id}/{name}”)
请求路径:http://localhost:8080/hello/show5/1/james
9、@Transactional Spring的事务管理
使用@EnableTransactionManagement 注解来启用事务管理功能,该注解可以加在启动类上或者单独加个配置类来处理。
10、
11、
12、
13、
14、
15、