java从入门到精通二十八(Spring注解开发)

java从入门到精通二十八(Spring注解开发)

Spring注解开发

  • 注解改造spring配置文件

从注解开发开始,这里的一切都变得十分简化。

包括后面的大量开发实战,我们的注解开发都会派上大的用处。

注解设置bean

那么我们的bean就不再xml文件里面进行定义了。具体怎么做呢?

我们可以这样举个例子。先创建一个接口,放在dao层,然后创建sevice包,在这里我们创建接口service继承dao,然后在改包下创建impl,里面创建类来实现sevice接口类。

具体如下

package com.jgdabc.dao;public interface Bookdao { void save();}package com.jgdabc.service;import com.jgdabc.dao.Bookdao;public interface BookService extends Bookdao { @Override void save();}package com.jgdabc.service.impl;import com.jgdabc.service.BookService;public class BookDaoServiceImp implements BookService { @Override public void save() { }}

我们然后这样操作这个实现类

package com.jgdabc.service.impl;import com.jgdabc.dao.Bookdao;import com.jgdabc.service.BookService;import org.springframework.stereotype.Component;@Component(“bookDao”)public class BookDaoServiceImp implements BookService { @Override public void save() { System.out.println(“bookdaoservice impl is runnning”); }}

非常重要的一件事,在BookDaoImpl类上添加@Component 注解。到底是什么用处呢?

例如这样,我们上面的代码与此类似

然后呢,我们还是需要去spring 的配置文件配置一下。你要开启包扫描

然后运行

但是包括包扫描,开启命名空间,其实都需要在配置文件上添加配置,比较容易出现错误。我们后面可以将配置文件也按照注解开发。

component-scan

component:组件,Spring将管理的bean视作自己的一个组件scan:扫描

base-package指定Spring框架扫描的包路径,它会扫描指定包及其子包中的所有类上的注解。包路径越多[如:com.jgdabc.dao.impl],扫描的范围越小速度越快

包路径越少[如:com.jgdabc],扫描的范围越大速度越慢

一般扫描到项目的组织名称即Maven的groupId下[如:com.jgdabc]即可。

注意

@Component注解如果不起名称,会有一个默认值就是当前类名首字母小写,所以也可以按照名称获取

对于@Component注解,还衍生出了其他三个注解@Controller 、@Service 、@Repository

这几个注解的功能是一样的,只是设定这样的名字便于我们区分具体功能。

方便我们后期在编写类的时候能很好地区分出这个类是属于表现层、业务层还是数据层的类。

注解改造spring配置文件

首先将原来的配置文件删掉。因为实在太麻烦。或者你可以注销掉。我们使用注解的方式。

这样这个之前的配置文件就不会再起作用了。

然后我们创建一个config的目录。下面创建配置类。

难道你创建一个配置类,spring就会认为你这个类就是它的配置类?不会的。

我们用注解告诉他

上次我们用的是在xml配置扫描,现在我们用注解扫描bean。

现在我们运行App测试类,照样也可以运行出来。这个就真的方便太多了。

总结以上的过程

注解扫描的话,可以扫描多级。需要这样去写,举个例子

之前我们读取配置方式改一下

import com.jgdabc.config.SpringConfig;import com.jgdabc.dao.Bookdao;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App { public static void main(String[] args) { // ApplicationContext ctx = new ClassPathXmlApplicationContext(“SpringConfig.xml.bak”);// DataSource dataSource = (DataSource) ctx.getBean(“dataSource”);// System.out.println(dataSource);// DataSource dataSource01= (DataSource) ctx.getBean(“datasource01”);// System.out.println(dataSource01); AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class); Bookdao bookDao = (Bookdao) ctx.getBean(“bookDao”); bookDao.save(); }}

起步就这么简单。

未完续更。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月27日 06:23
下一篇 2022年6月27日 06:23

相关推荐

  • 抖音带货怎么做入门(抖音带货怎么做入门教学)

    相信很多小伙伴都有注意到,现在抖音已经成为大家最常光顾的一个平台了,作为一个日活破亿的流量池,如今抖音上的用户数量极大。因此,现在在抖音上带货、卖货的人也是越来越多了,那么想在抖音…

    2022年11月25日
  • 全民K歌升级新版本7.0之后,有哪些隐藏功能?

    作者:高百烈来源:知乎 这个功能,旧版并没有,要升级到全新的全民K歌7.0版本才能发现。 作为朋友圈当代K歌之王,我费了不少功夫才抢到内测版本。有一说一,全民K歌的路子真的很野,新…

    2022年11月25日
  • 2023年摆地摊卖什么最赚钱而且很受欢迎(2022年摆地摊合法吗)

    关于摆地摊赚钱每年的热度也是非常高的,很多想要做点小本生意的商家也都会选择摆地摊这个项目,所需要的成本也是非常低的。那么,2023年摆地摊卖什么最赚钱而且很受欢迎?今天极客号小编整…

    2022年11月25日
  • 宝可梦朱紫野怪对应努力值表 野怪对应努力值查询一览图

    宝可梦朱紫野怪对应努力值是多少?不同的野怪对应的努力值不一样,因此不少玩家对于野怪对应努力值的详情不太了解,今天我们就来看一看野怪对应努力值表的具体内容,小编已经将详情分享在下面,…

    2022年11月25日
  • 密接5+3是什么意思(密接人员是什么意思)

    如今新冠病例的传播速度是越来越快了,对于感染了新冠病毒的人员来说都会采取隔离观看措施。而据了解,当前国内又对新冠疫情防控政策做了新的调整优化,其中密接管理调整为“5+3”。很多人对…

    2022年11月25日
  • 上手Reno8 Pro体验跨屏互联 实在太方便!

    11月已经来到了月底,在手机品牌又要推出新一年度的新品手机之前,我们来点评一下今年令人惊喜的产品。如OPPO的Reno8 Pro系列,该系列搭载双芯影像配置获得了很多消费者的认可。…

    2022年11月25日
  • 不知道考研真题哪里找?看这里!

    考研备考冲刺阶段,知道大家都很疲惫,但是,别让自己之前的努力白费,再坚持坚持,会看到你想要的结果的。 要是你想考研成功,有一个资料就必须要有。它就是:历年考研真题。 考研真题的重要…

    2022年11月25日
  • 淘宝直播平台抽成多少(淘宝直播平台抽成比例)

    随着时代的发展,现在直播带货已经成为主要带货方式,其中淘宝是主流带货平台,不少人在上面直播带货赚钱,一些小伙伴也想加入,那么淘宝直播平台抽成多少?下面小编为大家带来淘宝直播平台抽成…

    2022年11月24日
  • 成都健康码打不开显示接口请求未知异常怎么办(成都健康码打不开显示接口请求未知异常)

    成都这几天的疫情也是备受关注,疫情期间各地出行都是需要查看健康码的,不过今天却有成都的小伙伴反馈健康码无法打开的情况。成都健康码打不开显示接口请求未知异常怎么办?由于健康码无法打开…

    2022年11月24日
  • 华为手机怎么扫一扫连接wifi(手机扫一扫在哪里)

    手机浏览器可以用来浏览网页、看新闻、看视频,还能搜索问题,在我们的工作生活中浏览器占据着非常重要的位置。手机浏览器除了这些作用,其实它隐藏着其他功能,比如:扫一扫。扫一扫可不只是用…

    2022年11月24日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息