【框架】122:spring框架之注解

语言: CN / TW / HK

「深度学习福利」大神带你进阶工程师,立即查看>>>

今天是刘小爱自学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的类型,对应<bean class=””>中class的属性值。

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

会到spring容器中查找productDao名称,对应<bean id=””>中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层的代码。

最后

时间受限,还有一个Spring监听器也没时间弄了,这块应该还算简单,马上要学的AOP面向切面编程才是重点,并且据说很难。

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

本文分享自微信公众号 - 刘小爱(liuxiaoai946)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

分享到: