当前位置: 首页 > news >正文

做网站能接到模具单吗品牌推广工作内容

做网站能接到模具单吗,品牌推广工作内容,外包加工网上的货靠谱吗,做个app目录 一. Bean基本注解开发 二. Bean依赖注入注解开发 三. 非自定义Bean注解开发 四. Spring配置类的开发 五. Spring配置其他注解 5.1 Primary 5.2 Profile 六. Spring注入的解析原理 七. Spring注解方式整合第三方框架 一. Bean基本注解开发 Spring除了xml配置文件…

目录

一. Bean基本注解开发

二. Bean依赖注入注解开发

三. 非自定义Bean注解开发

四. Spring配置类的开发

五. Spring配置其他注解

5.1 @Primary

5.2 @Profile

六. Spring注入的解析原理

七. Spring注解方式整合第三方框架


一. Bean基本注解开发

Spring除了xml配置文件进行配置之外,还可以使用注解方式进行配置,注解方式慢慢成为xml配置的替代方案。

基本Bean注解,我们主要是使用注解的方式替代原有的xml的<bean>标签及其标签属性的配置

使用@Component注解替代<bean>标签。

原先我们配置是这样做的

而现在使用注解是这样的

之前的xml配置id是作为其beanName,然后根据全限定名寻找,现在我们的注解就在这个类上所以不需要全限定名,还要beanName我们可以给注解参数进行赋值。

这个时候我们使用之前的加载配置文件getBean就拿不到对应的对象了。

我们需要告诉他我们是用注解的方式进行注入的,需要在配置文件中进行注解组件扫描。

在之前spring基于xml开发中,我们做的自定义注解demo,那里的注解组件扫描是我们写死的,现在我们可以在配置文件中进行配置。

其实我们也可以基于之前的知识现在明白,这个配置不仅仅是扫描注解组件,还使用了Spring的后处理器进行"加工",其实后面spring很多的扩展点都是基于后处理器进行的。

在之前进行xml配置bean的时候,我们说过如果一个bean我们没有指定beanName,也就是没有在配置中写id,那么默认的beanName就是全限定名,而这里如果我们在@Component中没有写value参数,那么会是什么情况呢?

运行测试我们可以发现找不到这个bean了,那么我们看看内部情况。

我们可以发现如果没有写value,那么默认的beanName就是类名首字母小写。

我们使用@Component代替了<bean>标签,那么bean标签中属性如何进行配置呢?

我们知道JavaEE是分层的,为了语义化各层,所以@Component还有一些衍生注解:@Repository、@Service、@Controller。

@Repository在Dao层类上使用、@Servive在Service层类上使用、@Controller在web层类上使用

还有一些不属于任何层的我们就使用@Component。

二. Bean依赖注入注解开发

Bean的依赖注入注解,主要是使用注解的方式代替xml的<property>标签完成属性的注入操作

Spring提供了以下注解用于在Bean内部进行属性注入

  • @Value:使用在字段或方法上,用于注入普通数据
  • @Autowired:使用在字段或方法上,用于根据数据类型注入引用数据
  • @Qualifier:使用在字段或方法上,配合@Autowired,根据名称注入
  • Resource:使用在字段或方法上,根据类型或名称进行注入

使用Value注解进行username这个属性的注入,注入的值为zhangsan,并且打印一下username验证是否注入。

接下来我们看看使用@Autowired注入对象,这个也是后期最常用的注解。

形如之前的属性注入,我们也是可以使用set进行注入的。

接下来我们再看看配合@Autowired使用的@Qualifier是如何使用的。

此时我有两个UserDao对象,而@Autowired是根据类型进行注入的,如何判断注入的是哪个呢?

这个时候就可以使用@Qualifier,根据名称进行注入了。

最后我们看@Resource,不指定名称参数时,根据类型注入,指定名称就根据名称注入

@Autowired的扩展:

我们也可以这样使用将其注入。

三. 非自定义Bean注解开发

非自定义Bean不能像自定义Bean一样使用@Component进行管理,非自定义Bean要通过工厂的方式进行实例化使用@Bean标注方法即可,@Bean的属性为beanName,如不指定为当前工厂方法名称。

    

这里要注意的点是配置了@Bean的方法的类是要被Spring管理的。

还有就是要是我们想在方法中注入属性该如何操作呢?

在这里我们可以使用@Value进行普通属性注入,还可以使用@Qualifier进行指定名称的对象注入,但是@Qualifier不是需要配合@Autowired一起使用吗?

在属性注入的时候可以直接使用@Qualifier对指定名称的对象进行注入,并且如果使用@Autowired进行根据类型的注入,@Autowired可以省略。

四. Spring配置类的开发

上面的注解我们学习的都是替代xml文件中<bean>标签的,那么其他的配置我们是否也能用注解进行配置呢?也就是完全不需要配置文件。

接下来我们学习的就是配置类的注解开发。

我们使用这些注解来替代原先xml中的配置

这里的@Configuration也是@Component的衍生。

@ComponentScan是组件扫描配置

@PropertySource用于加载外部properties文件

并且这个时候在测试类中我们不再是以xml的方式加载spring容器,而是以配置类的形式。

五. Spring配置其他注解

5.1 @Primary

@Primary注解用于标注相同类型的Bean优先被使用权,@Primary是Spring3.0引入的,与@Component和@Bean一起使用,标注该Bean的优先级更高,则在通过类型获取Bean或通过@Autowired根据类型进行注入时,会选择优先级更高的。

5.2 @Profile

@Profile注解的作用同于xml配置时学习的<beans profile="test">是切换环境使用的。

@Profile可以标注在类或方法上,标注当前产生的Bean从属于哪个环境,只有激活当前环境,被标注的Bean才能被注入到Spring容器中,不指定环境的Bean,任何环境都可以注入到Spring容器。

可以使用以下两种方式指定被激活的环境:

  • 使用命令行动态参数,虚拟机参数位置加载 -Dspring.profiles.active=test
  • 使用代码方式指定环境变量,System.setProperty("spring.profiles.active","test");

六. Spring注入的解析原理

学习前先复习一下这张图。

这里由于注解的方式细节过多,这里介绍xml方式是如何注入的。

xml的方式进行注入是通过自定义命名空间进行的,我们先找到其对应的映射文件。

进入这个ContextNamespaceHandler

进入其对应的解析器ComponentScanBeanDefinitionParser,这里我们看关键方法

再来进入这个doScan,这里我们也看关键代码,将需要注入的对象都注册到BeanDefinitionMap中。

Spring注解的解析原理也是如此,最后的两步也是需要走doScan和register方法进行注册到BeanDefinitionMap中。

七. Spring注解方式整合第三方框架

第三方框架整合,依然使用MyBatis作为整合对象,之前已经使用xml方式整合了MyBatis,现在使用注解的方式无非就是将xml标签替换为注解,将xml配置文件替换为配置类即可。

之前xml方式整合MyBatis:

接下来我们就将其替换为注解的方式。

并且写一个方法进行测试

到这里Spring基于注解开发就差不多解释完了,这里我分享的比较来自于学习的课程b站的黑马spring课程,感兴趣可以看看。

http://www.tj-hxxt.cn/news/21629.html

相关文章:

  • 手机网站关键百度平台营销软件
  • 海丰网站建设怎么做网站平台
  • 网站开始开发阶段的主要流程seo社区
  • 吉林省建设厅网站特殊工种商品标题seo是什么意思
  • 成都青羊建设厅官方网站seo程序专员
  • google建网站合肥最新消息今天
  • 社科联网站建设方案策划书百度指数平台官网
  • 中小企业网站建设论文潍坊住房公积金管理中心
  • vs网站开发表格大小设置营销型网站建设费用
  • 百度百科推广费用无锡seo
  • 免费影视网站建设备案域名交易平台
  • 平顶山专业做网站公司港港网app下载最新版
  • 美橙互联网站建设深圳互联网公司50强
  • 三栏wordpress 主题什么是seo关键词优化
  • 建筑工程网站建设方案怎么制作个人网页
  • 深圳网站建设公司乐云seo搜索引擎广告形式有
  • 360网站做推广数字营销平台有哪些
  • 玉溪网站建设网站建设2023年8月份新冠
  • 公明做网站seo查询平台
  • 安阳新闻网官网培训seo去哪家机构最好
  • 做app网站公司培训学校加盟
  • wordpress本地环境搭建优化防控措施
  • 南昌网站建设那家好谷歌商店paypal三件套
  • 南京优化网站优化疫情防控
  • 上海游玩攻略必去的地方网络优化大师app
  • 宜兴网站建设外包公司到底值不值得去
  • 网站txt地图怎么做什么是网站外链
  • 广州各类外贸网站行业关键词搜索排名
  • 东莞凤岗企业网站建设推广小说推文万能关键词
  • 免费建微网站搜索引擎营销的案例