【博学谷学习记录】超强总结,用心分享。SSM框架的注解开发
1.MyBatis使用的注解
@Select注解:查询操作的,加在声明方法上
@Insert注解:插入操作
@Update注解:更新操作
@Delect注解:删除操作
@Param注解:作用是给参数起别名
2.Spring使用的注解
@Autowired:自动装配,使用在字段上用于根据类型依赖注入
直接用在属性上,或者set方法上
需要导入spring-aop的包!
先按byName的模式寻找(找与set方法后半段名字相同的id),如果找不到,再使用byType寻找(class对应的类型要唯一)。
如果不唯一则可启用@Qualifier注解
@Qualifier(value=“在配置文件中其二的id”)
@Qualifier与@Autowired 需要成对出现
@Autowired(required=false) 说明:false,对象可以为null;true,对象必须存对象,不能为null。
@Resource 实现依赖注入
@Resource和@Autowired注解都是用来实现依赖注入的。只是@AutoWried按by type自动注入,而@Resource默认按byName自动注入
@autowired 与 @resources 区别
都是依赖注入的注解。
前者是根据类型去匹配注入到ioc 后者是根据id 的名字去匹配注入到ioc
@autowired 通过类型去匹配有缺点:当一个父类有两个子类时,通过父类向下转型去匹配注入ioc时,会报错,有两个匹配。
@autowired 怎么解决这个问题呢?使用@qualifer("by name")去通过具体的name去注入ioc
@Resource 默认通过by name 去注入ioc
@Resource 想要通过by type 注入ioc则 @Resource(type=LaService.class)
@Repository 使用在dao层类上用于实例化Bean
@Component Spring容器的标签
作用于类上方,等价于在spring配置文件中的标签
@Component有几个衍生注解,在web开发中,会按照mvc三层架构分层
dao 层中 使用 @Repository
service 层中 使用 @Service
controller 层中 使用 @Controller
这四个注解功能相同,都代表将某个类注册到Spring容器中,装配bean
@Value注解 相当于属性
使用在属性或set方法上,@Value(“值”),等价于在spring配置文件中的标签内的标签,为属性赋值
@Scope 作用域
@Configuration 代表下面这个类是配置类
@ComponentScan 扫描器,添加文件路径下的类进入容器中
@Import 导入合并其他的配置类
@Bean 通过方法注册一个bean,这里的返回值就是Bean的类型,方法名就是bean的
@Aspect 代表这个类是一个切面
@Before 切入点前
@After 切入点后
@Around 环绕切入点
3.SpringMVC、SpringBoot
@RequestMapping 映射关系路径
@Controller 与@Component同作用,且相当于实现了Controller类
@EnableWebMvc 配置好Spring Webmvc。
@PropertySource("classpath:jdbc.properties") 加载properties类
@PathVaribale 让方法参数的值对应绑定到一个URI模板变量上(接收请求路径中占位符的值)
@RequestParam 将参数改名为@RequestParam(“值”)中的值,原来的参数名,不再能使用
@RestController 包含@Controller @ResponseBody 一个控制类,一个是响应体
@ExceptionHandler(Exception.class) 异常拦截器,自定义异常
4.MyBatisPlus
@Data 实体类上方的注解,可以替代getter、setter方法,但是没有构造方法
@TableField(value=“数据库字段名称”) 解决数据库名称和实体类名称不一致的问题
@TableField(exist=false)实体类新属性上面,解决编码中实体类添加了新的属性,但是数据库中没有定义的这个属性的问题
@TableName(“数据库名称”)数据库表名称和实体类名称不一致
@TableId(type = IdType.AUTO) 自增id
@TableLogic(value = "0",delval = "1") 逻辑删除操作
@Version乐观锁

浙公网安备 33010602011771号