0
点赞
收藏
分享

微信扫一扫

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

hoohack 2022-09-06 阅读 152


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/beans
http://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);

//获取 Bean
JavaBean javaBean = context.getBean("javaBean",JavaBean.class);
System.out.println("javaBean"+javaBean);

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

三、获取Javabean对比

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

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

上面只是由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 Bean
JavaBean 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获取JavaBean的xml形式和注解形式_Spring_03


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


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

配置包扫描,在类上添加注解,就可以交由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>


举报

相关推荐

0 条评论