SpringBoot2

为什么会有springboot----->因为在spring、springmvc中需要写大量的配置文件,还需要配置各种对象,把使用的对象放入到spring容器中才能使用对象,还需要了解其他框架配置规则。

Spring家族推出springboot框架就是为了简化spring的配置与开发,使得在基于Spring框架的开发中开发起来更快速更方便,简化或减少相关的配置,提高开发效率; 

SpringBoot 就相当于 不需要配置文件的Spring+SpringMVC------>常用的框架和第三方库都已经配置好了。 //开发效率高

JavaConfig

                        spring框架提供的一个功能,使用java类作为xml配置文件的替代,是配置spring容器的纯java的方式。
                        在这个java类(配置文件类)这可以创建java对象,把对象放入spring容器中(注入到容器)
                        Spring使用Xml作为容器配置文件------------》在3.0以后加入了JavaConfig(java类配置容器)配置Spring IOC容器的纯Java方法。

使用:创建普通类,定义方法,方法返回值是对象 
 

@Configuration注解:                        位置:类上                        作用:表示这个类是作为配置文件使用的。                                  //相当于spring配置文件xml
                属性:

@Bean注解:                                       位置:方法上                    作用:声明对象,把方法的返回值(对象)注入到容器中。              //相当于<bean>标签
                属性:name                指定对象的名称(说明:若不指定对象的名称,默认方法名是id)                                                   //相当于<bean>标签的id属性


注解的位置对应之前spring中配置文件中的标签

@ImportResource注解:           位置:类上           作用:导入已有的xml配置文件                                                       //相当于xml文件的<import resources="其他配置文件"/>
                属性:value                               String数组,指定配置文件的位置(一般为calsspath:xxx类路径下) 

@ComponentScan注解              位置:类上          作用:告诉配置文件类,去哪里找其他注解 //相当于组件扫描器标签<context:component-scan base-package="注解所在的包名"/>
                属性:basePackages                读取注其他注解所在的包名                               
 

@PropertyResource注解:        位置:类上           作用:把让spring框架的配置文件类读到属性配置文件(properties)     
                属性:value                                String数组,指定.properties属性文件的位置(一般为calsspath:xxx类路径下) 
                                                                                                                                                            //相当于<context:property-placeholder location="classpath:conf/jdbc.properties"/> 

     使用:                                                                                                                

  1.  在resources目录下创建xxx.properties文件,使用k=v格式提供数据  
  2. 根据xxx.properties文件创建一个Java普通类用来获取数据,私有属性为k
  3. 在类上使用@Component("id")使用注解生成对象放入容器      
  4. 在属性上使用@Value(value="${key}")  
  5. 在JavaConfig的Java类上@PropertyResource(value="classpath:xxx属性文件")   把让spring框架的配置文件类读到属性文件           
  6. 在JavaConfig的Java类上@ComponentScan(basePackages = "类所在包名")       //组件扫描器找到注解生成对象     


 


使用JavaConfig:在JavaConfig创建容器对象:ApplicationContext ctx = new AnnotationConfigApplicationContext(配置文件类.class);
                               获取对象:Student student = (Student) ctx.getBean("id名");       //注意要转换类型,因为都是Object


 SpringBoot

SpringBoot是Spring中的一个成员,可以简化spring、springmvc的使用。核心还是IoC容器

特点:创建spring应用
           内嵌的tomcat, jetty , Undertow 服务器
           提供了starter起步依赖,简化应用的配置。   //比如使用MyBatis框架 , 需要在Spring项目中,配置MyBatis的对象 SqlSessionFactory , Dao的代理对象
                                                                                  //现在在SpringBoot项目中,在pom.xml里面, 加入一个 mybatis-spring-boot-starter依赖,上面的就配置好了
           自动配置:尽可能去配置spring和第三方库。(就是把spring中的、第三方库中的对象都创建好,放到容器中, 开发人员可以直接使用)
           提供了健康检查, 统计,外部化配置(属性配置文件就是外部化配置)
           不用生成代码, 不用使用xml,做配置

创建springboot项目 

第一种方式:使用Spring提供的初始化器, 就是向导创建SpringBoot应用         //使用地址:https://start.spring.io/            //需要联网
        
               

        .mvn                与maven有关的                //可以删除
        mvnw               与maven有关的   //可以删除
        mvnw.cmd       与maven有关的    //可以删除
        HELP.md        描述文件                //可以删除
        .gitignore        git忽略文件                //不用管
        xxx.iml            IDEA自己的文件        //不用管
重点:
        pom.xml
        src        


           pom.xml文件:        

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    springboot项目的父项目
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    当前项目的坐标
    <groupId>groupId</groupId>
    <artifactId>artifactId</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>artifactId</name>                    可以删除不要
    <description>artifactId</description>      可以删除不要
    jdk版本
    <properties>
        <java.version>1.8</java.version>
    </properties>
    依赖
    <dependencies>
        web依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>    web项目的起步依赖,会加入相关需要的的jar包
        </dependency>
        测试依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    maven插件
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

                调试项目:             

第二种方式:使用Spring提供的初始化器, 就是向导创建SpringBoot应用         //使用地址:https://start.springboot.io/(上面的地址是国外的,经常访问失败,所以用国内的)
第三种方式:使用浏览器进入上面的网址,在生成项目,下载压缩包,解压后导入idea---maven工程就可以
第四种方式:maven----不用选模板----创建普通的maven项目-----在pom.xml加入父项目和起步依赖
                        在resources文件夹种新建:2个文件夹:static、templates     1个文件application.properties

@SpringBootApplication 
public class Application {         //主启动类
    public static void main(String[] args) {          //主方法       
        SpringApplication.run(Application.class,args);     //启动spring IoC容器,返回容器
    } 
}


@SpringBootApplication注解:                                        位置:主类上

        复合注解:由@SpringBootConfiguration        (配置文件)        三个注解组成
                              @EnableAutoConfiguration       (自动配置功能)
                              @ComponentScan                    (扫描注解)

        
       

        @SpringBootConfiguration注解:           //该注解的注解:@Configuration注解                     //该类可以当作配置文件来用,可以使用Bean(标签、注解)声明对象,注入到容器

@Configuration
public @interface SpringBootConfiguration {
    @AliasFor(
        annotation = Configuration.class
    )
    boolean proxyBeanMethods() default true;
}

         @EnableAutoConfiguration:        启用自动配置, 把java对象配置好,注入到spring容器中         //例如可以把mybatis的对象创建好,放入到容器中

         @ComponentScan:组件扫描器,找到注解,根据注解的功能创建对象,给属性赋值等等。
                                           默认扫描的包: @ComponentScan所在的类所在的包和子包。


         

 Spring Boot配置文件:.properties格式文件(k=v)、.yml格式文件(k: v)

核心配置文件:名字必须以 application 开始        //如:application.properties、application.yml      若2个都配置则冲突,优先用.properties

        application.properties格式文件:

#设置端口号
server.port=8080

#应用的上下文路径contextpath   项目
server.servlet.context-pat
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值