Spring框架基础之SpringBoot

SpringBoot 定义

SpringBoot 是对spring 框架封装,便于搭建Spring 项目,简化开发过程。
SpringBoot 集成了原生Spring IOC/AOP/DAO/MVC/Data以及其他技术。

SpringBoot优势

  1. SpringBoot提供了内置tomcat服务器
  2. SpringBoot完全采用了Java配置模式,取消了XML配置
  3. SpringBoot提供了一系列工具集合,简化jar包引入
  4. SpringBoot提供自动配置功能,自动创建大量常用对象,例如dataSource/jdbcTemplate等
  5. SpringBoot采用Jar包发布,不需要采用war包

MAVEN工具

MAVEN 是一个项目构建工具,,可以创建项目/编译/打包/发布等功能;开发中使用MAVEN,主要在于jar包导入管理和工程结构管理。
在这里插入图片描述

SpringBoot 启动过程

SpringBoot 采用SpringApplication.run 方法为入口启动Boot程序,加载了一个带有@SpringBootApplication标记的类型参数,该标记开启了自动配置/组件扫描/ 实现bean定义等功能,创建出spring 对象:

@SpringBootApplication 是一个复合标记,包含以下三种标记:

  1. @SpringBootConfiguration

作用:实现bean定义。该标记是对Spriing中@Configuration封装,经常结合@Bean/@Import标记使用。
采用Java配置形式,将组件对象添加到Spring容器中 。

写一个Java配置类,相当于applicationContext.xml文件
	//@Configuration
	@SpringBootConfiguration
	public class BeansConfiguration{
		//<bean  id="deptDao "  class="cn.xdl.DeptDao">==@Bean
		@Bean //<bean>定义,将返回的DeptDao对象添加到SpringBoot容器中,默认方法名做Id
		@Primary //当方法名相同时,@Autowired无法识别时 @Primary可指定默认注入使用的对象
		public DeptDao deptDao(){
			return new DeptDao();
		} 
		//<bean id="dao1" class="cn.xdl.DeptDao">
		@Bean(name="dao1") //将返回的DeptDao对象添加到SpringBoot容器中,指定id=dao1
		public DeptDao deptDao1(){
			return  new DeptDao();
		}
	}

创建SpringBoot 容器

		 public  class MyBootApplicatioon{
			public static void  main(String[] args){
				//相当于ApplicationContext app = new 
					ClassPathXmlApplicationContext(" applicationContext.xml");
				ApplicationContext app = SpringApplication.run(BeansConfiguration.class);
				DeptDao dao1 = app.getBean("dao1" ,DeptDao.class);
				dao1.save();
			}
		}

在这里插入图片描述

  1. @ComponentScan(组件扫描)

    1. 作用:
    @ComponentScan(basePsackage="包名") 指定扫描包;
    @ComponentScan  默认扫描当前包和子包下的文件;
    
    1. 用到的注解:

       @Component 、@Repository、@Service 、@Controller
      
    2. id名

       默认类名首字母小写
       可以使用标注指定 ,如:@Service(“id”)
      
  2. @EnableAutoConfiguration( 自动配置)

    • 概念:在SpringBoot启动中,自动加载某些组件,创建对象的过程称为自动配置

    • SpringBoot想开启自动配置功能,需使用@EnableAutoConfiguration 开启(配置类使用);
      如果自动配置组件与bean定义冲突的情况下,会失效;

    • 自动配置原理: 当@EnableAutoConfiguration 开启自动配置时,内部会通过AutoConfigurationImportSelector加载所有AutoConfiguration开发包中的META-INF/spring factories 文件。其底层依然使用的时@Configuration+@Bean定义

    1. 配置参数注入

      @ConfigurationProperties 标记可以将properties配置文件中的参数注入给对象属性,需要自动配置组件ConfigurationPropertiesAutoConfiguration 类的支撑。

      -使用以下两种方法注入application.properties文件中的内容:

       1.  使用@ConfigrationProperties  //类前使用
       2.  使用@Value("key ")//成员变量前使用,key为Properties文件中的key值
       注:@configrationProperties 配置参数 默认按名称一致规则注入;
       若不一致可使用@ConfigurationProperties( prefix=“spring.datasource”)或者@Value(“spring.datasource.key”) 
      

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值