java 知识积累_java学习知识积累-spring常用注解
java学习知识积累-spring常用注解
类的分层注解,由于我们后台开发都是分为三层进行开发的,所以Spring框架提供了三种对于不同层的注解方式:
控制层:@Controller
服务层:@Service
持久层:@Repository
以下是具体的案列解析:
1、@Controller
对应表现层的Bean,也就是Action,例如:
@Controller
@RequestMapping(value = "login")
public class LoginController {
.....
}
1
2
3
4
5
@Controller
@RequestMapping(value="login")
publicclassLoginController{
.....
}
2、@Service
对应的是业务层Bean,例如:
@Service
public class UserService {
....
}
1
2
3
4
@Service
publicclassUserService{
....
}
3、@Repository
对应数据访问层Bean ,例如:
@Repository
public interface UserReportMapper {
....
}
1
2
3
4
@Repository
publicinterfaceUserReportMapper{
....
}
4、@Autowired
进行注入式注解(不推荐使用,建议使用@Resource).以下是两种方式:
@Autowired
private UserReportMapper userReportMapper;
1
2
@Autowired
privateUserReportMapperuserReportMapper;
private UserDao userDao;
@Autowired
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
1
2
3
4
5
privateUserDaouserDao;
@Autowired
publicvoidsetUserDao(UserDaouserDao){
this.userDao=userDao;
}
5、@RequestMapping
一个用来处理请求地址映射的注解,可用于类或方法上。
@RequestMapping(value = "index.html")
public String toNewIndex(Model model) {
.....
}
1
2
3
4
@RequestMapping(value="index.html")
publicStringtoNewIndex(Modelmodel){
.....
}
6、@ResponseBody
@ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流。
@ResponseBody
public String doPost(UserVo userVo, HttpServletRequest request) {
...
}
1
2
3
4
@ResponseBody
publicStringdoPost(UserVouserVo,HttpServletRequestrequest){
...
}
7、@overrider
重写
/*菜鸟笔记
Java 中的覆盖@Override注解 写与不写的一点点理解
一般来说,写与不写没什么区别,JVM可以自识别
写的情况下:即说明子类要覆盖基类的方法,基类必须存在方法
(控制类型public,protected,返回值,参数列表类型)与子类方法完成一致的方法,否则会报错(找不到被Override的方法)。
在不写@Override注解的情况下,当基类存在与子类各种条件都符合的方法是即实现覆盖;
如果条件不符合时,则是当成新定义的方法使用。
所以如果想覆盖基类方法时,最好还是写上@Override注解,这样有利于编译器帮助检查错误
*/
1
2
3
4
5
6
7
8
9
/*菜鸟笔记
Java 中的覆盖@Override注解 写与不写的一点点理解
一般来说,写与不写没什么区别,JVM可以自识别
写的情况下:即说明子类要覆盖基类的方法,基类必须存在方法
(控制类型public,protected,返回值,参数列表类型)与子类方法完成一致的方法,否则会报错(找不到被Override的方法)。
在不写@Override注解的情况下,当基类存在与子类各种条件都符合的方法是即实现覆盖;
如果条件不符合时,则是当成新定义的方法使用。
所以如果想覆盖基类方法时,最好还是写上@Override注解,这样有利于编译器帮助检查错误
*/
@Override
public Map toMap() {
Map map = new HashMap<>();
map.put("statu", Constants.LOGIN_SUCCESS);
map.put("userId", userVo.getId());
return map;
}
1
2
3
4
5
6
7
@Override
publicMaptoMap(){
Mapmap=newHashMap<>();
map.put("statu",Constants.LOGIN_SUCCESS);
map.put("userId",userVo.getId());
returnmap;
}
8、@Transactional
方法需要事务管理
@Transactional
//用户修改账号密码
public int updatePassword(int id, String oldPw, String newPw, int type) {
....
}
1
2
3
4
5
@Transactional
//用户修改账号密码
publicintupdatePassword(intid,StringoldPw,StringnewPw,inttype){
....
}
9、@Component
把普通pojo实例化到spring容器中
@Component
public class PartnerConfig{
....
}
1
2
3
4
@Component
publicclassPartnerConfig{
....
}
10、 @Override
重写,并让系统可以帮你检查方法的正确性
@Override
public Map<String, Object> toMap() {
Map<String, Object> map = new HashMap<>();
map.put("statu", Constants.LOGIN_SUCCESS);
map.put("userId", userVo.getId());
return map;
}
1
2
3
4
5
6
7
@Override
publicMap<String,Object>toMap(){
Map<String,Object>map=newHashMap<>();
map.put("statu",Constants.LOGIN_SUCCESS);
map.put("userId",userVo.getId());
returnmap;
}
11、@value
注解获取”resources”下的*.porperties文件的内容
payment.yt.busiPartner=101001
1
payment.yt.busiPartner=101001
@Value("${payment.yt.busiPartner}")
private String busiPartner;
1
2
@Value("${payment.yt.busiPartner}")
privateStringbusiPartner;
12、SuppressWarnings
告诉它对被批注的代码元素内部的某些警告保持静默。
1
@SuppressWarnings("unchecked")
@RequestMapping(value = "loanexper/ajax")
@ResponseBody
public String getAllJson(BaseVo vo,HttpServletRequest request) {
....
}
1
2
3
4
5
6
@SuppressWarnings("unchecked")
@RequestMapping(value="loanexper/ajax")
@ResponseBody
publicStringgetAllJson(BaseVovo,HttpServletRequestrequest){
....
}
1
请尊重我们的辛苦付出,未经允许,请不要转载 本站 的文章,鄙视各种无耻的采集行为!
java 知识积累_java学习知识积累-spring常用注解相关推荐
- Java开发者必须掌握的20个Spring常用注解
注解本身没有功能的,就和 xml 一样.注解和 xml 都是一种元数据,元数据即解释数据的数据,这就是所谓配置. 本文主要罗列 Spring|Spring MVC相关注解的简介. Spring部分 1 ...
- Java开发必须掌握的 20+ 种 Spring 常用注解
点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"获取公众号专属群聊入口 来源:u6.gg/sSXQU 注解本身没有功能的,就和x ...
- Java 必须掌握的 12 种 Spring 常用注解
转载自 Java 必须掌握的 12 种 Spring 常用注解 1.声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repo ...
- Spring系列之Spring常用注解总结
参看博客:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺 ...
- Spring常用注解总结
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文 ...
- spring autowired idea都匹配上了_你清楚这几个Spring常用注解吗?
作者:平凡希http://cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 如 ...
- Spring常用注解 - 使用注解来构造IoC容器
Spring常用注解 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan b ...
- autowired注解_Spring系列之Spring常用注解总结
作者:平凡希来源:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做 ...
- sessionattribute 被spring 扫描不到_Spring 系列之 Spring 常用注解总结(肝硬化的干货)...
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1. 如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml ...
最新文章
- 力扣——整数反转(Java)
- 请求和响应向更多内容
- 【ZOJ - 3591】Nim(博弈问题,思维,STLmap)
- 2017年网易校招题 输入一个数将其变为斐波那契数(最小步数)
- 【原创】STM32工程新建步骤
- 2.4 残差网络为什么有用?
- React 错误Each child in an array or iterator should have a unique “key” prop
- 201771010111李瑞红《第十六周学习总结》
- 单目深度估计方法:算法梳理与代码实现
- python分离gif_python 将GIF拆分成图片方法
- 萤石云 UIKit Javascript 使用
- typo:in word ‘ ‘ 问题解决方法
- 数据库操作的异常Cannot perform this operation because the connection pool has been close
- oracle中月初月末的表示
- 什么是数据挖掘?数据挖掘的目标是什么?
- 在测试中实施人工智能
- 数据分析技术:时间序列分析的AR/MA/ARMA/ARIMA模型体系
- Oracle安装步骤(记录)
- 《奇点临近》奇点和六大纪元
- 一篇文章让你搞定火山图,Volcano plot详解
热门文章
- IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
- 解决sublime text 3使用Install Package时出现There are no packages available for installation问题
- Python中的字符串比较:与== [重复]
- node.js删除文件
- 什么是C ??!??!操作员呢?
- 确定两个日期范围是否重叠
- 为什么numba不能提高背包功能的速度?
- ros中订阅/map话题,获取地图尺寸,获取机器人原点origin,获取地图分辨率resolution (c++,python,waitForMessage,wait_for_message)
- c# 批量mqtt_Paho-MQTT C#接入示例