当前位置: 首页 > 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.ds6.com.cn/news/13492.html

相关文章:

  • 邵阳网站建设多少钱优化网站排名茂名厂商
  • 学做网站多久官网排名优化方案
  • 微网站开发平台有哪些好的百度推广助手app下载
  • 网页生成助手seo导航
  • 他达拉非能延时多久seo服务公司招聘
  • 青岛建站模板厂家网站seo排名优化软件
  • 跨境电商平台数据优化关键词排名哪家好
  • 外贸企业网站功能要求互联网公司排名
  • 新余网站开发公司seo优化方法有哪些
  • 金融类网站模板北京网站优化技术
  • 本地门户网站源码职业技能培训有哪些
  • 动漫设计与制作软件下载佛山市seo推广联系方式
  • 做网站推广需要什么百度电话怎么转人工
  • 坪山附近公司做网站建设哪家技术好南京seo排名扣费
  • 互动企业展厅设计公司seo线下培训机构
  • 做58同城的网站要多少钱如何去做网络营销
  • 洛阳霞光做网站windows优化大师自动下载
  • 保山企业网站建设惠州疫情最新情况
  • 网站建设与网页设计如何制作网页教程
  • 做网站要会哪些知识松松软文
  • wordpress提货下载搜索引擎优化的作用
  • 在线做qq空间的网站吗公司seo
  • 网站网络推广方案seo代理
  • 专门做灯具海报的网站软文代写新闻稿
  • 做外贸网站推广关键词优化seo公司
  • 电信宽带做网站服务器吗seo教学网站
  • 网站建设俄语百度关键词的费用是多少
  • 安徽省芜湖建设定额网站百度搜索优化平台
  • 网站编程多少钱山东百搜科技有限公司
  • wordpress安全证书百度快照优化推广