原标题:spring框架之注解的使用

今天是刘小爱自学Java的第122天。

感谢你的观看,谢谢你。

学习内容安排如下:

Spring注解的使用。

JavaWeb项目的搭建。

Spring的Web集成。

本来还计划学Spring的junit测试集成的,结果又没时间了。

一、Spring的注解

IoC容器是Spring的特色之一,可以使用它管理很多Bean,前几天我们都是将这些Bean配置在applicationContext.xml文件中的。

而注解的作用在于:用了注解之后,就不需要在xml文件中配置这些了 。

1开启注解

①开启spring的注解

context:annotation-config

让注解有效了,能够识别注解。

②配置注解扫描

context:component-scan

用来专门扫描含有@Component注解的类,自动将其作为bean。

base-package

要扫描包的路径,包含子包,com.liuxiaoai表示该包下的所有子包和类定义注解都有效.

注意:注解扫描配置的时候,会自动开启注解功能,也就是说有了②的话,①就不需要了。

如果是注解+XML组合使用,可以只开启①。

2注解的使用

①@Component注解

相当于将对象存放到spring容器中。

其中@Component有三个子注解:

@Controller用于标注控制层组件,web层。

@Service用于标注业务层,service层。

@Repository用于标注数据访问组件,dao层。

而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

②@Autowired注解

将ProductDao注入到了ProductService

单独使用@Autowired ,表示按照类型注入,会到spring容器中查找ProductDao的类型,对应中class的属性值。

如果同类型有多个,可以使用@Autowired + @Qualifier表示按照名称注入。

会到spring容器中查找productDao名称,对应中id的属性值,比如:@Qualifier("productDao")

除此之外还有一种注解方法:

使用@Value("#{productDao}"),也就是Value注解加上spEL表达式,也可以。

3注解测试

通过测试我们能发现,调用service层代码,dao层代码也能被调用。

注意:上述代码中可没有实例化dao层对象。

其实无论是spring注解也好,还是配置xml也罢,都是省略new对象这个步骤。

将dao层和service层对象关联起来了,没有new对象实例化,也能调用dao层代码。

当然spring肯定不止这么简单,只不过目前来说还没有学到其它的知识点。

二、JavaWeb项目搭建

1配置一个JavaWeb项目

这个在以前我们就配置过好多遍了:

①设置打包方式

在pom文件中,使用packaging标签添加web工程的打包方式为war。

②编辑项目结构

快捷键Ctrl+Shift+Alt+S即可打开。

找到当前模块下的web文件,如果没有右击模块添加web,添加web目录,目录结构必须为:项目名\src\main\webapp

③添加web.xml文件

web.xml文件是在webapp下的WEB-INF路径下面。

④最终项目结构图

webapp、resources以及Java是在同一个层级目录的,都是在main路径下面。

其中关于依赖的引入,需要什么就从父工程中引入即可,在此就不详细说明了。

2配置Tomcat插件

以前是直接在idea中配置Tomcat,现在因为是maven工程,也可以使用Tomcat插件。

①配置Tomcat插件

同样地,通过父工程中的pom文件引入即可。

其中通过configuration标签,我们可以配置Tomcat的端口和路径。

②运行Tomcat

点击Tomcat7:run即可运行Tomcat。

为了更便捷地运行Tomcat,可以将其配置到idea菜单栏中:

三、Spring的Web集成

一样还是Java三层代码的编写。

1编写代码

①开启spring注解功能

这不用多说,刚学习了的。

②service层代码编写

将HelloService对象提交到spring容器中管理,同时注入HelloDao。

在方法中编写一条输出语句作为测试,并调用dao层的方法。

③dao层代码编写

将HelloDao对象提交到spring容器中管理,同时在方法中写一条输出语句作为测试。

④web层代码编写

通过注解开发创建一个HelloServlet。

以前我们都是直接new一个service层对应的对象,现在使用spring框架了,通过spring工厂获取即可。

2项目测试

启动Tomcat,并在浏览器上输入对应的路径(HelloServlet上的注解即为对应访问路径),访问服务器。

如果在idea控制台上会输出语句,证明该路径成功访问到了服务器,并且执行到了service层和dao层的代码。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。返回搜狐,查看更多

责任编辑:

java spring框架 注解_spring框架之注解的使用相关推荐

  1. spring框架介绍_Spring框架介绍

    spring框架介绍 这是Spring框架和Spring核心概念的简介. 在本教程中,我们将介绍Spring Framework的主要优点和功能. 在随后的教程中,我们将学习有关Spring和Spri ...

  2. java spring多数据源配置文件_基于注解实现SpringBoot多数据源配置

    1.功能介绍 在实际的开发中,同一个项目中使用多个数据源是很常见的场景.最近在学习的过程中使用注解的方式实现了一个Springboot项目多数据源的功能.具体实现方式如下. 2.在applicatio ...

  3. java风清扬简介_Spring 框架简介

    Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. Spring ...

  4. java spring 是什么_Spring详解(一)------概述

    本系列教程我们将对 Spring 进行详解的介绍,相信你在看完后一定能够有所收获. 1.什么是 Spring ? Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开 ...

  5. java spring配置类_spring 配置 Java配置类装配bean

    https://www.cnblogs.com/chenbenbuyi/p/8457700.html 自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应 ...

  6. java spring redis订阅_spring中订阅redis键值过期消息通知

    1.首先启用redis通知功能(ubuntu下操作): 编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知): notify-keyspace-events Ex 或者登 ...

  7. spring security 注解_Spring框架使用@Autowired自动装配引发的讨论

    原文首发于掘金 作者:walkinger 链接:https://juejin.im/post/5d4163ede51d4561f64a078b 问题描述 有同事在开发新功能测试时,报了个错,大致就是, ...

  8. data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解

    本文源码:GitHub || GitEE 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面, ...

  9. java model类作用_SPRING框架中ModelAndView、Model、ModelMap区别及详细分析

    注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面. 首先介绍ModelMap[Model]和ModelAndView的作用 Model 是一个接口, 其实现类为Exte ...

最新文章

  1. ZT:成熟是一种明亮而不刺眼的光辉
  2. pack 内存对齐操作
  3. python SimpleHTTPServer 快速共享文件
  4. MySQL5.7更改用户名密码
  5. 打开软件就遍历桌面和D盘的软件名通过UDP广播的方式发出。服务器监听指定的端口可以获得文件夹名称。不会暴露自己的IP
  6. ubuntu进行apt-get时候出现Package ssh is not available, but is referred to by another package 错误...
  7. vue 中二维码的使用和工具比较
  8. 【Kibana】Kibana下Dev Tools操作ES命令持续积累
  9. 把本地的jar包打包到maven本地仓库里
  10. HDU 1117 免费馅饼 二维动态规划
  11. 关于spark写入文件至文件系统并制定文件名之自定义outputFormat
  12. 重新制作Docker镜像
  13. MySQL数据库索引优化实战分析
  14. 一个canvas的demo
  15. vba移动文件_你想要的爬虫、VBA系列教程这里都有!
  16. Linux下的mplayer播放器移植与使用
  17. java中cookie的有效时间设置
  18. mysql ( )_MYSQL (一)
  19. 什么是框架,框架的作用是什么?
  20. vscode 舒服的颜色字体

热门文章

  1. Shell 命令大全Xhell入门
  2. Pytorch(六) --处理高维特征数据
  3. linux查看ko信息,linux 查看信息命令
  4. TX2下编译qt程序步骤
  5. java什么是原生类_Java 基础 - 原生类型
  6. thinkphp python_ThinkPhp 5.0 服务器搭建问题总结
  7. gis中开始编辑之后显示空间参考_空间参考—帮助 | ArcGIS Desktop
  8. python web框架 多线程_python 简单web框架: Bottle
  9. 我的世界手机版服务器显示即将推出,我的世界手机版领域服即将开启 什么是领域服...
  10. 2015山东春考计算机分数排名,2015-2017年山东春季高考分数线.docx