@Autowired
自动装配 默认先按byType装配,如果找到多个bean则通过byName方式比对,如果还有多个,则报出异常。
用法常用private修饰,可以理解为,自动实例化 可以直接调它的方法
@Resource通过byName自动注入
用法 和Autowired差不多
@Qualifier
用法 手动指定按byName注入
@Repository
dao层持久层注解 用于标注数据访问组件,即DAO组件
用法 用于dao层接口实现类的上方
**@Controller **
controller控制层注解 用于处理用户的输入输出
用法 用于controller层接口实现类上方
@Service
用法 service层上方注解
@@RequestMapping("")
请求映射,将页面请求与函数绑定
用法 常用于Controller层的方法的上面
@DateTimeFormat(pattern = “yyyy-MM-dd”)
//指明字符串转换为日期时,字符串日期的格式,
用法 常entity类的日期属性上
@Transactional 事务功能:保证成批sql语句的原子性,要么一起成功要么一起失败
用法 用于类上的注解会使所有函数具有事务功能
@Param
-param绑定参数后不用再写parameterType,
用法 常用于mapper包下用于执行sql语句
public List<Map<String, Object>> selectBookingCount(@Param("doctorList") List<Integer> doctorList,
@Param("bookingDate") Date bookingDate);
<insert id="insertOneBooking" parameterType="Booking">
insert into booking(patientId, doctorId, bookingDate, visitTime) values (#{patient.patientId}, #{doctor.doctorId},
#{bookingDate}, #{visitTime})
</insert>
@EnableCaching 开启缓存
用法 主函数上使用 Application 类里,用于mysql数据库的数据存放于redis里
@Cacheable
/Cacheable:执行此函数前先在缓存中得到数据,若缓存中不存在则执行此函数,并将此函数的执行结果缓存起来。
key为一个表达式,#p0表示第0个参数。redis中的键名为value::key
用法常用于dao层缓冲区,
@Override
@Cacheable(value = "offices", key = "'list'")
public List<Office> getAllOffices() {
return officeMapper.selectAllOffices();
}