Spring+SpringMVC+springBoot
用来创建对象的注解:
@Controller:
放在类的上面,创建控制器对象,注入到容器
@RestController:
放在类的上面,创建控制器对象,注入到容器
复合注解:=@controller+@Responbody,使用这个注解类的,里面控制器方法返回的都是数据
@Service:
@Service:放在业务层实现类上,创建Service对象,注入到容器
@Repository:
放在dao层实现类上面,创建dao对象,放入到容器中。没有使用这个注解,是因为现在使用 Mybatis框架,dao对象是通过Mybatis代理生成的对象不需要使用Repository、所以没有使 用。
@Component:
放在类的上面,创建类的对象 ,放入到容器中 。不属于三层架构
用来赋值的:
@Value:
简单类型的赋值,例如在属性上面使用@Value(“李四”)private String name。
还可以使用@Value,获取配置文件中的数据(propertise或者yml) @Value("${Server.port}") private Integer port;
@Autowired:
引用类型赋值自动注入的,支持ByName,ByType,默认是ByType。放在属性 的上面,也可以放在构造方法的上面,推荐是放在构造方法的上面
@Qualifer:
给引用类型赋值,使用ByName的方式。@Qualifer和@Autowried都是spring框架提供的
@Resource:
来自jdk中的定义,javax.annotation。实现引用类型自动注入,支持ByName和 ByType,默认是ByName,,如果ByName失败,再使用ByType注入。在属性的上面进行使用
其他注解:
@Configuration:
放在类上面,表示这是配置类,相当于xml配置文件
@Bean:
放在配置类的方法上面,把方法返回值的对象,注入到spring容器中。
@ImportResource:
加载其他的xml配置文件,把配置文佳中的对象注入到spring容器中,放在配置类上
@ProertySource:
读取其他的properties属性配置文件,放在配置类上
@ComponentScan:
扫描器,指定包名,扫描创建对象的注解的,放在配置类上
@ResponseBody:
放在controller方法的上面,表示controller方法返回的是数据而不是视图
@RquestBody:
把请求体中的数据读取出来,转化为java对象使用。
@ControllerAdvice:
控制器增强,放在类的上面,表示此类提供了方法,可以对Controller增强功能。
@ExceptionHandler:
处理异常的,放在方法的上面
@Transactional:
处理事务的,放在service实现类public方法的上面,表示此方法有事务
springBoot中使用的注解:
@SpringBootApplication:
放在启动类上
是个复合注解:
1、@SpringBootConfiguration:
2、EnableAutoConfiguration
3、ComponentScan
MyBatise相关的注解:
@Mapper:放在接口的上面,让MyBatis找到接口,创建它的代理对象
@MapperScan:放在主启动类的上面,指定扫描的包,这个包中的所有接口都创建代理对 象,并且把创建好的代理对象注入到容器中
@Param:放在dao接口方法的形参前面,作为命名的参数使用 。
Dubbo注解:
@DubboService:在提供者端使用的,暴露服务的,放在接口的实现类上面
@DubboRefrence:在消费者端使用,引用远程服务,放在属性上面使用
@EnableDubbo:放在主启动类上面,表示引用启用Dubbo功能。