SSM框架常用注解
spring + springmvc常用注解:
控制反转:
@Component
- 比较通用,加在不属于三层的类上
@Controller
- 加在控制类上,属于表现层
@Service
- 加在业务逻辑类上,属于业务逻辑层(服务层)
@Repository
- 加在数据访问类上(dao)
@RestController
- 除了@Controller的功能外,还会认为控制器中每个方法都加了
@ResponseBody 注解
@PostConstruct
- 加在方法上,表示它是初始化方法
@PreDestory
- 加在方法上,表示它是销毁方法
@Scope
- 加在类上,用来控制对象个数(singleton单例,prototype 多例)
@Lazy
- 加在类上,表示此对象用到时才创建和初始化
依赖注入
@Autowried
- 加在属性、set方法、构造方法,用来给属性进行依赖注入 (根据类型匹配)
@Resource
- 加在属性、set方法、构造方法,用来给属性进行依赖注入 (根据名字匹配,如果名字匹配不上,再用类型匹配)
事务
@Transactional
-加在方法上,表示这个方法需要事务控制,方法如果出现未检查异常,回滚事务,否则提交事务
@Transactional(rollbackFor=“异常类型.class”)
@Transactional(readOnly=“true|false”, timeout=“超时时间”, isolation=“隔离级别”,propagation=“传播行为”)
@Transactional
-加在类上 (表示这个类中所有方法都会进行事务控制) toString setXXX
springmvc常用注解
@RequestMapping(url路径)
-加在方法上,用来映射请求地址和控制器方法
@GetMapping
- 只能处理 get
@PostMapping
- 只能处理 post
@PutMapping
- 只能处理 put
@DeleteMapping
- 只能处理 delete
@PathVarible(“参数名”)
- 加在方法参数上,把路径参数与方法参数映射
@RequestParam(defaultValue = “1”)
- 加在方法参数上,表示请求参数不存在时,给方法参数一个默认值
@DateTimeFormat(pattern=“日期格式”)
- 加在方法参数或属性上, 用来控制请求参数转换为java中的日期类型
@ExceptionHandler(异常类型.class)
-加在方法上,表示此方法专门处理异常
@ControllerAdvice
- 加在类上,用来配合 @ExceptionHandler 实现全局的异常处理
@ResponseBody
-加在方法上, 把控制器方法的返回结果转为 json
@RequestBody
-加在方法参数上, 把客户端post请求中传来的 json 字符串,转为 java 对象
@CrossOrigin(“url地址”)
-加在方法或类上,表示仅允许这个地址获取此控制器方法返回的json数据
Mybatis注解
@Select
加在接口的方法上,用来定义 select sql 语句
@Insert
加在接口的方法上,用来定义 insert sql 语句
@Update
加在接口的方法上,用来定义 update sql 语句
@Delete
加在接口的方法上,用来定义 delete sql 语句
@Options(useGeneratedKeys = true, keyProperty = “sid”) 配合 @Insert 添加一些选项
@Param
加在方法参数上,mapper 有多个参数时,用它把 #{} 值与方法映射
下面是一段关于应用注解的简单代码:
//UserService的注解层
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> findAllUser() {
return userDao.findAllUser();
}