这几天学ssm,发现太多了,决定总结一下注解的用法

Mybatis

Spring

一、自动装配:

首先在xml文件中需要引入注解支持

xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
<context:annotation-config/>

1.@Autowired        按照类型进行自动装配(ByType)

需要导入的包:spring-aop

个人的理解:

1.首先需要在spring-config.xml中注册要自动装配的类

<bean id="dog" class="com.kuang.pojo.Dog"/>
<bean id="cat" class="com.kuang.pojo.Cat"/>
<bean id="user" class="com.kuang.pojo.User"/>

2.然后在需要装配的私有字段,set方法上添加该注解,即可实现自动装配

public class User {@Autowiredprivate Cat cat;@Autowiredprivate Dog dog;
}

注意:1.该注解可以在没有Set方法的情况下对字段进行注入

2.字段名可以和注册的名字不一致,因为是按类型匹配

2.@Qualifier        在@Autowired上加上该注解,可以在有多个同类型注册的情况下选择使用哪一个

个人的理解:

1.与@Autowired配对使用,而且是用的时候需要赋值:@Qualifier(value="bean中注册的名字")

<bean id="dog1" class="com.kuang.pojo.Dog"/>
<bean id="dog2" class="com.kuang.pojo.Dog"/>
<bean id="cat1" class="com.kuang.pojo.Cat"/>
<bean id="cat2" class="com.kuang.pojo.Cat"/>
@Autowired
@Qualifier(value = "cat2")
private Cat cat;
@Autowired
@Qualifier(value = "dog2")
private Dog dog;

注意:1.只能和Autowired配对使用

二、自动配置Bean

需要引入注解支持

xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

指定注解扫描com.kuang.pojo包下的注解

<context:component-scan base-package="com.kuang.pojo"/>

3.@Component        将被这个注解标注的类注册到bean中

个人理解:1.三步走,引入注解支持,指定被扫描的包,在该包下需要注册bean的类上标注

2.Component中需要传入参数,传入的参数即为bean中所注册的id

@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
public class User {public String name = "秦疆";
}

注意:1.不要忘了指定生效

4.@Controller:web层        与@Component等效,只不过用在不同层

5.@Service:service层        与@Component等效,只不过用在不同层

6.@Repository:dao层        与@Component等效,只不过用在不同层

7.@Value        可以在不用set方法的情况下对字段的值进行注入

个人理解:1.首先Value中需要传入值,用于给注解的字段进行赋值

@Component("user")
// 相当于配置文件中 <bean id="user" class="当前注解的类"/>
public class User {@Value("秦疆")// 相当于配置文件中 <property name="name" value="秦疆"/>public String name;
}

三、基于Java类进行配置

有了这个注解就可以不用再配置spring-config.xml文件了

1.@Configuration        标注在类上,代表这个类是一个配置类

2.@Bean                      与@Configuration配对使用,在类中的方法上使用,代表注册这个类中的方法到bean中

@Configuration  //代表这是一个配置类
public class MyConfig {@Bean //通过方法注册一个bean,这里的返回值就Bean的类型,方法名就是bean的id!public Dog dog(){return new Dog();}
}

注意:被标注@Bean的方法,方法的返回值就是bean的类型,方法名就是bean的id

开启注解支持<context:annotation-config>和指定注解扫描包<context:component-scan>的区别

前者是针对已经在xml中配置注册过的bean生效,后者是指定拿个地方的注解能自动配置bean

@Bean和@Component的区别

网上大体搜了一下概念,看下来感觉就是@Bean比@Component要更加灵活,因为一个类通过@Component只能注册一个bean,而@Bean可以通过创建多个方法来创建不同的bean,可能是这么一回事吧?

SpringMVC

1.@Controller和@RequestMapping

首先要声明在那个包下可以生效

<context:component-scan base-package="com.kuang.controller"/>

@Controller在类上标注,自动注册到Spring中

@RequestMapping在标注@Controller的类中的方法上标注,设置这个类的返回值为String

@RequestMapping("此处填写的地址为程序运行后,输入那个网址可以运行这段程序")

@Controller
public class ControllerTest2{//映射访问路径@RequestMapping("/t2")public String index(Model model){//Spring MVC会自动实例化一个Model对象用于向视图中传值model.addAttribute("msg", "ControllerTest2");//返回视图位置return "test";}}

注意:@RestController和@Controller的区别

@Controller下的方法是通过视图解析器跳转到html页面上的

@RestController return的就是字符串(类似于@ResponseBody)

2.@GetMapping和@PostMapping等

以get和post方法请求,get可以通过输入网址直接访问,post需要进行跳转

3.@RestController和@ResponseBody

@RestController是标注在类上的,使这个类的视图解析器都失效,String直接返回字符串而不是导向某个地址

@ResponseBody是标注在方法上的,使这个方法的视图解析器失效,String直接返回字符串而不是某个地址

4.@RequestParam

取别名

用法,在方法的形参前面署名,表示这是一个从前端传递来的参数@RequestParam(“目标名字”)

最好每个从前端获取的数据上都加上这个注解,代表这是一个从前端请求的数据

5.@PathVariable

在url中添加变量

如图所示,将url上拼接上id的值

【技术栈】【SSM】SMM的常用注解相关推荐

  1. java技术栈是什么意思?一次认全9大主流技术栈!

    Java技术栈是指一组在Java开发中广泛使用的技术和工具集合,包括Java编程语言.Java虚拟机.Java类库.Web开发框架.数据库.IDE等.Java技术栈广泛应用于企业级Web应用程序的开发 ...

  2. 这份2021Java程序员常用技术栈和工具清单,刷爆了朋友圈...

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 作为一枚Java程序员,需要掌握哪些技术和工具才能完成一个J ...

  3. 这份程序员常用技术栈和工具清单,刷爆朋友圈……

    基于Java的Web应用开发技术已成为目前Web开发的主流技术,作为一名Java程序员,到底要掌握什么技术才能完成一个JavaWeb项目呢? 小编和一位十年经历程序员要来这份Java程序员常用技术栈, ...

  4. 【博学谷学习记录】超强总结,用心分享|狂野架构师之比较常用的技术栈整合

    在今天的学习中,老师把当前比较流行的一些框架技术栈做了一个梳理,很多流行一时的的框架因为技术迭代或其他的一些原因已经泯然众人,我们这些程序员只有不断的学习新技术才能适应这个瞬息万变的职场.哎,有时候想 ...

  5. 自行走机器人系统常用的技术栈

    前言 由于就职于一家AI机器人及工业检测相关的公司,就对当前相关联的技术栈有一个大致的了解.本人是Java后端服务开发岗,之前互联网公司经历,但对机器人这块比较好奇,所有只做了相关的了解. 基础技术栈 ...

  6. python 开发常用的技术栈有哪些?

    前言 Python 开发常用的技术栈包括以下几个方面: Web 开发框架:Django.Flask.Tornado 等: 数据库连接和操作:SQLAlchemy.psycopg2.mysql-conn ...

  7. SSM框架之Spring MVC(二)常用注解说明

    一.常用注解 1.1RequestParam 1.1.1  使用说明 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必须 ...

  8. 大专java方向校招面试找工作知识点技术栈以及实习感受分享-简历分享

    大专java方向校招面试找工作知识点技术栈以及实习感受分享 专科生的Java学习以及校招面试 先说一下我的编程历程 开始求职之路 第一次求职 网上海投 第二次面试 第三次面试 学校招聘会 第四次面试 ...

  9. 后端基础入门技术栈简单小结(非常简单)

    后端基础入门技术栈简单小结(非常简单) 本文章同步更新于: 简书:https://www.jianshu.com/p/c8c6f10850e2 CSDN:https://blog.csdn.net/Z ...

最新文章

  1. java基础--日期--练习集锦
  2. 用c语言 简单实现JAVA里面的ArryList 功能,实现内存自动扩展
  3. QT的系统总结(非常全面)
  4. wordpress 当前栏目名,当前栏目的分类名
  5. css改变指针形状,css 指针样式
  6. 【MFC系列-第8天】小型软件项目开发
  7. Oracle 建立序列以及触发器的建立
  8. 互联网把农业推向“科技仙境”
  9. 第二篇:对CART,Gradient Boost,Xgboost,LightGBM的学习
  10. 你知道什么是 MySQL 的模糊查询?
  11. KVM详解(八)——KVM虚拟机自启动
  12. mc一进服务器就未响应,一进服务器就崩溃 大佬们求解
  13. log4j.xml配置示例
  14. winForm获取内嵌浏览器网页源代码
  15. 极限编程价值观及最佳实践
  16. ubuntu Empathy msn验证出错
  17. 中超16强内援转会更新 陕西重金打造中国银河战舰
  18. 湖南张家界夫妻自助旅游攻略
  19. C++之策略(Strategy)模式
  20. 不懂这显然您不专业!云计算术语大全

热门文章

  1. YTU每周训练----数据结构+数论+图论
  2. Python+Neo4j构建时光网TOP100电影知识图谱
  3. 程序员 - 算法工程师 日常快捷入口大全
  4. 10.深度学习之经典网络-1
  5. Plexus——Spring之外的IoC容器
  6. 十万个为什么 「你知道为什么汉字有时会乱码变成问号(?)或别的字符吗?」
  7. IGES格式文件举例
  8. lanproxy使用
  9. 歌曲版本识别或者歌曲检索(总结)
  10. Python3 笔记3 基本数据类型2