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

三亚市海棠湾幵发建设有限公司网站百度公司的发展历程

三亚市海棠湾幵发建设有限公司网站,百度公司的发展历程,商丘做网站需要多少钱,做网站要多大的画布前言: 💞💞今天我们依然是学习Spring,这里我们会更加了解Spring的知识,知道Spring是怎么更加简单的读取和存储Bean对象的。也会让大家对Spring更加了解。 💟💟前路漫漫,希望大家坚持…

前言:
💞💞今天我们依然是学习Spring,这里我们会更加了解Spring的知识,知道Spring是怎么更加简单的读取和存储Bean对象的。也会让大家对Spring更加了解。
💟💟前路漫漫,希望大家坚持下去,不忘初心,成为一名优秀的程序员

个人主页⭐: 书生♡
gitee主页🙋‍♂:奋斗的小白
博客领域💥:java编程 ,前端,算法,强训题目
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬

在这里插入图片描述

目录

  • 1.存储 Bean 对象
    • 1.1配置路径
    • 1.2 存储 Bean 对象的两种方式
    • 1.3 存储 Bean 对象-----类注解
      • 1.3.1 @Controller(控制器存储)
      • 1.3.2 @Service(服务存储)
      • 1.3.3 @Repository(仓库存储)
      • 1.3.4 @Component(组件存储)
      • 1.3.5 @Configuration(配置存储)
    • 1.4 存储 Bean 对象-----方法注解
      • 1.4.1 使用方法注解@Bean
      • 1.4.2 方法注解的重命名
    • 1. 5 Bean的命名
    • 1.6 类注解的具体讲解
      • 1.6.1 为什么要有五个类注解
      • 1.6.2 五大类注解的用途(重点)
      • 1.6.3类注解之间的关系

1.存储 Bean 对象

 上一篇文章,已经教会大家怎么去存储Bean对象了,但是会发现比较麻烦,所以这篇文章会教会大家怎么更加简单的去存储Bean对象。

在 Spring 中想要更简单的存储和读取对象的核⼼是使⽤注解,也就是我们接下来要学习 Spring 中的相 关注解,来存储和读取 Bean对象。

1.1配置路径

在上一篇文章中,我们存储 Bean 时,需要在 spring-config 中添加⼀⾏ bean 注册内容才⾏。
在这里插入图片描述
但是会发现当我们需要注入多个类的时候,就会添加很多的Bean标签,会很麻烦,那有什么可以解决吗?
我们可以使用一行代码就去解决这个问题。

在我们的spring-config.xml中添加一行代码。
在这里插入图片描述

再添加这个代码的时候需要注意:一定要配置包路径,就是上图的标注的位置。
我们需要配置⼀下存储对象的扫描包路径,只有被配置的包下的所有类,添加了注解才能被正确的识别并保存到 Spring 中。
就是说你要扫描的对象,在哪个包下面,你就把这个包的路径写上去。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:content="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><content:component-scan base-package="Spring.demo"></content:component-scan>
</beans>

有人就会问了,我不用包行不行,直接在根目录下创建一个类,是可以的,那么我们就需要这个位置不用写包的路径,写上两个**,就可以了,这个就代码扫描全部的。但是不建议这样写,因为我们以后再公司的时候,一定会有这样的路径的,所以建议大家在这里还是写在包的下面,更规范些。

1.2 存储 Bean 对象的两种方式

我们通过注解来存储对象在Spring中,有两种方式:

1.类注解:@Controller、@Service、@Repository、@Component、@Configuration。
2.方法注解:@Bean

下面为大家分别讲讲这两种方式。

1.3 存储 Bean 对象-----类注解

我们知道存储Bean对象有五种类注解。

@Controller 控制器
@Service 服务
@Repository 仓库
@Component 组件
@Configuration 配置

下面为大家分开说说这五种类注解。(重点是前三个)

1.3.1 @Controller(控制器存储)

我们在使用类注解的时候,类注解全部都是在类的上面的,因为我们是想将对象存储到 Spring 中,整个类就是一个对象,所以在类的上面。
在这里插入图片描述

使⽤ @Controller 存储 bean 的代码展示:

	@Controller//将对象存储到 Spring 中public class ApplicController {public  String hello(){return "Hello Spring !!!!";}}public static void main(String[] args) {//1.获取Spring对象(上下文)ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");//2.取出bean对象//(3)根据Bean名称(标识)+类型 来得到BeanApplicController applicController =context.getBean("applicController", ApplicController.class);//3.使用beanSystem.out.println(applicController.hello());}

在这里插入图片描述

1.3.2 @Service(服务存储)

这个和上面的一样,在类上面添加一个注解,@Service
在这里插入图片描述
使⽤ @Service 存储 bean 的代码展示:

@Service
public class ApplicController {public  String hello(){return "Hello Spring !!!!";}
}

其他的代码和上面的一样就不写了。这个也是可以运行成功的。
在这里插入图片描述

1.3.3 @Repository(仓库存储)

这个和上面的一样,在类上面添加一个注解,@Repository
在这里插入图片描述
使⽤ @Repository存储 bean 的代码展示:

@Repository
public class ApplicController {public  String hello(){return "Hello Spring !!!!";}
}

其他的代码和上面的一样就不写了。这个也是可以运行成功的。
在这里插入图片描述

1.3.4 @Component(组件存储)

这个和上面的一样,在类上面添加一个注解,@Component(这个用的比上面三个会少一些)
在这里插入图片描述
使⽤ @Component存储 bean 的代码展示:

@Component
public class ApplicController {public  String hello(){return "Hello Spring !!!!";}
}

其他的代码和上面的一样就不写了。这个也是可以运行成功的。

1.3.5 @Configuration(配置存储)

这个和上面的一样,在类上面添加一个注解,@Configuration(这个使用会更少一点)
在这里插入图片描述

使⽤ @Configuration存储 bean 的代码展示:

@Configuration
public class ApplicController {public  String hello(){return "Hello Spring !!!!";}
}

其他的代码和上面的一样就不写了。这个也是可以运行成功的。

1.4 存储 Bean 对象-----方法注解

在这里插入图片描述

1.4.1 使用方法注解@Bean

类注解是添加到某个类上的,⽽⽅法注解是放到某个⽅法上的。

那么为什么要引入方法呢?

1:因为一个类中可能会有很多个方法,但是我并不全部都需要引入到Spring,如果使用类注解,那么就是将整个类注入Spring中,耽误性能,所以使用方法注解,需要哪个方法就将那个方法注入
2.如果一个类中出现了两个同样的方法,那么实用类注解的时候,不知道去取一个,那么就需要使用方法注解的name属性去区分了。

@Controller
public class StudentBeans {@Beanpublic Student student1() {// 伪代码,构建对象Student stu = new Student();stu.setId(1);stu.setName("张三");stu.setAge(18);return stu;}
}

注意:
在 Spring 框架的设计中,⽅法注解 @Bean 要配合类注解才能将对象正常的存储到 Spring 容器中
如果单独使用方法注解,会报错的
在这里插入图片描述

1.4.2 方法注解的重命名

我们可以通过设置 name 属性给 Bean 对象进⾏重命名操作

格式为:
@Bean({“名称”})
这个重命名的 name 其实是⼀个数组,⼀个 bean 可以有多个名字,每一个名称用双引号括起来,用逗号分开。

注意事项:
当给@Bean设置了name属性之后,使用原方法名就不能获取到对象了,只能使用设置的名称才能获取。

在这里插入图片描述
此时我们使⽤我们自定义的名称就可以获取到 对象了

@Controller
public class StudentBeans {@Beanpublic Student student1() {// 伪代码,构建对象Student stu = new Student();stu.setId(1);stu.setName("张三");stu.setAge(18);return stu;}@Bean({"s1","s2"})public Student student2() {// 伪代码,构建对象Student stu = new Student();stu.setId(2);stu.setName("李四");stu.setAge(20);return stu;}}//另外一个启动类中
public static void main(String[] args) {//1.获取Spring对象(上下文)ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");//2.取出bean对象Student student =context.getBean("student1",Student.class);System.out.println(student);System.out.println("===========");Student stu =context.getBean("s1",Student.class);System.out.println(stu);System.out.println("===========");//Student stu1 =context.getBean("student2",Student.class);//这种是错误的//System.out.println(stu1);}

1. 5 Bean的命名

我们在spring-config.xml中引入了,这么一段代码,我们就可以不使用bean标签了,但是我们会发现没有了id这个属性了,那我们在获取Bean对象的时候怎么办,如果只使用类名的话就会出现问题。

在这里插入图片描述
其实当我们类名首字母是大写的是,默认将类名的首字母小写,就是我们的id标识了。
在这里插入图片描述

这个时候我们就会有几个疑问:

问题1.如果类名首字母是小写,要怎么从Spring中获取Bean?
答:和首字母是大写是一直的,都是用的是将类名首字母小写的方式来获取对象。

在这里插入图片描述

问题2:如果首字母和第二字母都是大写,会怎样?
答:当使用默认规则,首字母小写获取Bean对象时,失败了!
正确获取Bean的方式是使用原类名,就能成功获取到了。

在这里插入图片描述

问题3:项目中没有目录,所有的类都写在 java根路径下,怎么存、取 Bean对象?
答:我们只需要改一下配置文件的包路径就行,将路径改为**

在这里插入图片描述

1.6 类注解的具体讲解

1.6.1 为什么要有五个类注解

1.通过类注解可以了解当前类的用途(就好像看到一个东西就知道这是哪里的,具有很强的识别性)
2.功能有细微不同:这个在 Spring MVC/Spring Boot再详细展开。

1.6.2 五大类注解的用途(重点)

1.@Controller(控制器)∶归属于业务逻辑层,用来控制用户的行为,它用来检查用户参数的有效性。
2.@Service(服务):归属于服务层,调用类实现相应的功能。【不直接和数据库交互的,它类似于控制中心】
3.@Repository(仓库):归属于持久层,是直接和数据库进行交互的。通常每一个表都会对应一个@Repository。
4.@Configuration(配置)∶归属于配置层,是用来配置当前项目的一些信息。
5. @Component(组件):归属于公共工具类,提供某些公共方法。

在这里插入图片描述

1.6.3类注解之间的关系

先来看一下这五个类注解的源代码,可以发现每一个类注解都有一个@Componen,
这个就表明@Componen是他们的父类
在这里插入图片描述

http://www.hkea.cn/news/277923/

相关文章:

  • 谁有做那事的网站百度投诉中心入口
  • 免费单页网站在线制作沈阳seo排名优化教程
  • 廊坊网站建大型网站建站公司
  • 远程桌面做网站sem和seo区别与联系
  • 做贷款网站优化大师有用吗
  • 有没有便宜的网站制作制作网页教程
  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司