Spring Boot入门笔记

参考:https://www.jianshu.com/p/8e3de55d4373

(1)@Configration标签   

表示这个类可被Spring识别的配置对象的类,只有有这个标记的标签的类才能使用@Bean标签作用于对应的方法上面。

(2)@Bean标签

@Bean(destroyMethod = "destory", initMethod = "init")也可以通过这样的写法来配置bean的初始化方法和销毁方法。

使用示例:

package edu.xatu.cn;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//	 作为Spring的主配置文件
//   这个标签表示这个类可被Spring识别的配置对象的类,只有有这个标记的标签的类才能使用
//   @Bean标签作用于对应的方法上面
@Configuration   
public class AppConfig {
	
//告诉Spring这个方法是Spring帮我们管理的bean通过@Bean标签
	@Bean
	public BeanTest getBeanTest(){
		return new BeanTest();
	}
	
	@Bean
	public BeanTest2 getBeanTest2(){
		return new BeanTest2();
	}
}

原来创建bean对象的方法:

1.配置文件application.xml:



      
       


2.读取配置文件:

//基于Spring容器生成对象
	@Test
	public void test1(){
		ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
		BeanTest bean = context.getBean(BeanTest.class);
		System.out.println(bean);
	}

现在使用Configration注解方法:AppConfig.java上面已经给出

//基于AnnotationConfigApplicationContext来配置
	@Test
	public void test2(){
		ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
		BeanTest bean1 = context.getBean(BeanTest.class);
		BeanTest2 bean2 = context.getBean(BeanTest2.class);
		System.out.println(bean1);
		System.out.println(bean2);
	}

 (3)@Component,@ComponentScan标签

@ComponentScan 开启组件自动扫描:默认情况下,它会扫描当前类所在的包及其子包中的所有标签对象加载到spring容器

Spring Boot入门笔记_第1张图片     

Spring Boot入门笔记_第2张图片

(4)对象的关系引用:

BeanTest1中依赖一个BeanTest2

Spring Boot入门笔记_第3张图片

测试类MyTest.java:

//对象的关系引用
	@Autowired
	@Qualifier("bean1")
	private  BeanTest bean1;
	@Test
	public void test3(){
		System.out.println(bean1.getBeanTest2());
	}

配置文件类AppConfig.java

Spring Boot入门笔记_第4张图片

@Bean(destroyMethod = "destory", initMethod = "init")
	public BeanTest beanTest(BeanTest2 bean2){
		BeanTest bean1 = new BeanTest();
		bean1.setOtherBean(bean2);
		return bean1;
	}

使用try来关闭容器(MyTest.java)

//	使用try来关闭容器
    @Test
	public void test4(){
		try(AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class)){
			BeanTest bean1 = context.getBean(BeanTest.class,"bean1");
			System.out.println(bean1);
		};
	}

(5)@import标签

用来导入配置类,主配置文件AppConfig导入其他配置文件类

Spring Boot入门笔记_第5张图片

其他两个配置文件:

@Configuration
public class ConfigRedis {

	@Bean
	public MyRedisTemplate myRedisTemplate(){
		return new MyRedisTemplate();
	}
}
@Configuration
public class ConfigDataSource {

	@Bean
	public MyDataSource myDataSource(){
		return new MyDataSource();
	}
}

测试:

Spring Boot入门笔记_第6张图片

(6)@importresource标签在javaConfig中混用xml,导入资源

配置文件配置了BeanTest2对象

Spring Boot入门笔记_第7张图片

BeanTest1中有BeanTest2的引用

Spring Boot入门笔记_第8张图片

在主配置文件AppConfig.java中使用@importresource标签导入资源文件

Spring Boot入门笔记_第9张图片

测试MyTest.java:

Spring Boot入门笔记_第10张图片

(7)引入外部资源.properties资源文件

属性文件以及实体类

Spring Boot入门笔记_第11张图片     Spring Boot入门笔记_第12张图片

主配置文件使用propertysource标签

Spring Boot入门笔记_第13张图片

测试:

Spring Boot入门笔记_第14张图片

第二种方式:

AppConfig.java

属性文件以及实体类

Spring Boot入门笔记_第15张图片   Spring Boot入门笔记_第16张图片

配置类

Spring Boot入门笔记_第17张图片

Spring Boot入门笔记_第18张图片

主配置导入其他两个配置文件

Spring Boot入门笔记_第19张图片

测试:

Spring Boot入门笔记_第20张图片

你可能感兴趣的:(框架,SpringBoot,SpringBoot)