1.注解
@Controller
@RestController :复合注解 @Controller + @ResponseBody
@Service
@Repository :创造dao对象,mybatis通过代理已经创建,但是其他持久化框架可能要用
@Component: 表示创建对象,不是分层的
赋值的:
@Value("ls")
private String name;
//获取配置文件的值
@Value("${server.port}")
private int port;
@Autowired 给构造方法赋值,或者属性 byType
@Qualifer 给引用类型赋值,属性 byName
@Resource 也可以赋值 jdk的赋值,支持byName失败使用byType(属性上面)
其他:
@Configuration 在类的上面代表是个配置类
@Bean 对象注入到容器
@ImportResource 导入xml配置文件
@PropertySource 导入properties配置文件
@ComponentScan 组件扫描器扫描注解
@ResponseBody 返回的是数据,不是视图
@RequestBody 把请求体变为java对象
@ControllerAdvice ,控制器增强
@ExceptionHandler 处理异常的
@Transactional 处理事务的public
springboot的注解
@SpringBootApplication
包含了@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan
Mybatis注解
@Mapper :可以mybatis找到接口创建代理对象
@MapperScan 扫描指定的到,创建代理对象,注入容器,mapper的加强
@Param dao接口里命名参数的,给mybatis传值
Dubbo注解(用于代码分离)
@DubboService 提供者
@DubboReference 消费者
@EnableDubbo 放在主类
2.Redis直接可注入
@Resource
RedisTemplate redisTemplate
//设置使用字符串查询
redisTemplate.setKeySerializer(new StringRedisSerializer());
//值存为json
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<Student>(Student.class));
//得到值
Student studnet=(Student)redisTemplate.opsForValue().get(id);
//获取值
redisTemplate.opsForValue().set(key,student);
3.缓存穿透 数据库不断访问和缓存失效
|