Spring获取JavaBean的xml形式和注解形式

文章目录

  • 一、用xml文件方式管理JavaBean
    • 1. 创建一个xml配置文件
    • 2. 将一个Bean交由spring创建并管理
    • 3. 获取Spring上下文,获取bean
  • 二、用注解获取Javabean
    • 1. 创建一个class配置java文件
    • 2. 将一个bean交由Spring创建并管理
    • 3. 获取Spring上下文,后去Javabean
    • 总结:都是初始化Spring上下文获取Javabean
  • 三、获取Javabean对比
  • 四、简化注解获取Javabean
    • 1.在javabean类上添加@Component注解
    • 2. 在配置java类上添加@ComponentScan注解,value 属性设置Spring扫描那些bean
    • 3. 初始化Spring上下文,获取bean就可以了

一、用xml文件方式管理JavaBean

1. 创建一个xml配置文件

2. 将一个Bean交由spring创建并管理

<!--1. 创建一个xml配置文件-->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--2. 将一个Bean交由spring创建并管理--><bean id="javaBean" class="com.gblfy.ioc.JavaBean"/>
</beans>

注:用id作为bean的唯一标识 用class来指定这个bean是哪个类

3. 获取Spring上下文,获取bean

 ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");

获取bean

 JavaBean javaBean = context.getBean("javaBean",JavaBean.class);

二、用注解获取Javabean

1. 创建一个class配置java文件

2. 将一个bean交由Spring创建并管理

//1 .创建一个class配置java文件
@Configuration
public class Configuation {//2. 将一个bean交由Spring创建并管理@Bean(value = "bean2")public JavaBean javaBean(){return new JavaBean();}
}

3. 获取Spring上下文,后去Javabean

 //3. 获取Spring上下文ApplicationContext context =new AnnotationConfigApplicationContext(Configuation.class);//获取 BeanJavaBean javaBean = context.getBean("javaBean",JavaBean.class);System.out.println("javaBean"+javaBean);

总结:都是初始化Spring上下文获取Javabean

三、获取Javabean对比

上面只是由xml形式获取Javabean变成了注解形式,但是,代码量没有减少,那如何简化呢?

四、简化注解获取Javabean

1.在javabean类上添加@Component注解

@Component
public class JavaBean { }

2. 在配置java类上添加@ComponentScan注解,value 属性设置Spring扫描那些bean

//创建一个class配置java文件
@Configuration
@ComponentScan(value = "com.gblfy.ioc")
public class Configuation { }

3. 初始化Spring上下文,获取bean就可以了

//获取Spring上下文ApplicationContext context =new AnnotationConfigApplicationContext(Configuation.class);//huoqu BeanJavaBean javaBean = context.getBean("javaBean",JavaBean.class);System.out.println("javaBean"+javaBean);

原理:通过@ComponentScan注解来告知Spring,让Spring扫描这个包结构下的所有class

那么扫描的原则是什么呢?

扫描原则:在刚才包结构下类上有@Component注解的class,这些class将交由Spring来管理,并由Spring来为我们实例化这些class的Javabean。

Javabean的id默认为类名小写,如果,想自定义bean的id在@Component的value 属性中添加value即可;

@Component(value = "javaBeanId")
public class JavaBean { }



配置包扫描,在类上添加注解,就可以交由Spring来管理,并进行实例化
注解:

注解位置 注解名称
controller层 @Controller
service层 @Service
持久层 @Repository
其它层 @Component

依赖附上

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.1.8.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.8.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>

Spring获取JavaBean的xml形式和注解形式相关推荐

  1. Spring框架(IOCDI)xXML形式和注解形式

    IOC Spring的依赖包 pom.xml <dependency><groupId>org.springframework</groupId><artif ...

  2. 使用Spring获取JavaBean的属性值匹配短信模板

    2019独角兽企业重金招聘Python工程师标准>>> 在做电信的项目过程中,遇到根据可配置的短信模板去适配相应的短信的内容. Spring的源码提供了解析object对象的属性方法 ...

  3. SpringMVC中注解和非注解形式配置

    目录 一.注解形式 1.各组件的配置文件 springmvc1.xml 2.Controller类 二.非注解形式实现 1.各组件的配置文件 springmvc2.xml 2.User1Control ...

  4. Spring XML 和 注解形式指定init 、destory方法

    XML形式 <bean class="you.class" init-method="initMethod", destroy-method=" ...

  5. 用小说的形式讲解Spring(3) —— xml、注解和Java Config到底选哪个

    本文发布于专栏Effective Java,如果您觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给您身边的工程师同学. 本集概要: 为什么说xml配置是类型不安全的配置方式? 如何使用 ...

  6. spring IOC基本配置(xml配置和注解配置)

    目录 Spring IOC IOC是什么 IOC可以做什么 依赖注入 IOC和DI IOC容器 Bean 配置IOC容器 spring ioc 依赖 XML配置 实例化容器 使用容器 xml配置详解 ...

  7. Spring更简单的存储对象------不使用XML而使用注解

    1.更简单进行存储: 1.先进行创建Spring的项目 先进行创建maven项目,在pom.xml里面引入对Spring所依赖的jar包(核心包:5.2.3) <!-- https://mvnr ...

  8. Spring的注解形式:@Repository、@Service、@Controller

    Spring的注解形式:@Repository.@Service.@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean. @Repository.@Service.@C ...

  9. Spring高手之路2——深入理解注解驱动配置与XML配置的融合与区别

    文章目录 1. 配置类的编写与Bean的注册 2. 注解驱动IOC的依赖注入与XML依赖注入对比 3. Spring中组件的概念 4. 组件注册 5. 组件扫描 5.1 使用@ComponentSca ...

最新文章

  1. 【工具软件】webstorm的实用快捷操作(持续积累)
  2. CISCO HSRP
  3. 组策略 从入门到精通 (七) 组策略的继承
  4. Oracle 创建数据表以及对数据表、字段、主外键、约束的操作
  5. 3亿Docker容器部署的挑战及应对方案
  6. pageContext对象和config对象
  7. WAM计算机术语,最新的计算机一级考试MSOffice模拟试题及答案
  8. android+nutz后台如何上传和下载图片
  9. php-fpm进程的用户组,PHP中的“进程”系列1——PHP-FPM模型
  10. C语言的代码内存布局
  11. 拒绝LOW ---青鸟影院购票系统
  12. 李航统计学习方法课件 ---由清华大学深圳研究院袁春教授制作
  13. 常用动画特效 - CSS实现
  14. 矩阵求和 c语言 简单易懂
  15. 汇编学习笔记-输出月份缩写
  16. 搜狐博客悄悄停止运营
  17. java派生类属例子_辨析之派生类属和相关类属
  18. Vue项目中mockjs简单应用
  19. unicode转中文 C# (dotnetcore)
  20. 从零教你实现一个小说和漫画在线阅读网站[附源码]

热门文章

  1. 为什么Java开发人员都带眼镜 | 程序员搞笑段子合集
  2. 复合的赋值运算符例题_Java学习:运算符的使用与注意事项
  3. 我的世界java版和基岩版对比_基岩版Beta1.11.0.1发布
  4. MongoDb随笔,PyMongo简单使用
  5. java ssdb 操作link遍历map的两种方式
  6. 判断给定森林中有多少棵树特别版
  7. C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
  8. 勤学如春起之苗,不见其增,日有所长!
  9. 新一代高效Git协同模型AGit-Flow详解
  10. Flutter嵌套深?扩展函数了解一下