Spring Boot概述、环境搭建与注解

Spring Boot

1.spring boot引言

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

spring boot=spring+springmvc

2.spring boot的特点

  • 创建独立的spring应用
  • 内嵌了一个tomcat 无需war包部署
  • 简化maven配置
  • 可以以jar的形式运行
  • 自动配置spring
  • 摒弃xml形式的开发

3.spring boot的约束

src/main/java
      com.baizhi  主包
                 entity  子包
                 dao
                 service
                 controller
                 入口类(main):入口类必须存放在主包下和子包同级  
src/main/resources
                配置文件:配置文件的名字必须叫application存放位置必须存放在resources目录下    application.yml 
                properties
                yml
                yaml
                
src/test/java
src/test/resources

4.spring boot环境搭建

1.maven形式构建spring boot应用
1.导入jar
父级项目依赖 放置在dependencies标签之外
       <!--仲裁中心 管理项目中jar包的版本号-->
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
      </parent>
        <!--
        starter:springboot的启动器(自动配置)
        springboot 为每一个场景定义了一个启动器
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
2.构建入口类
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        //参数1:入口类的类对象 
        //参数2:main函数中的args 
        SpringApplication.run(App.class,args);
    }
}

注意: springboot默认没有项目名
      默认端口为8080
     访问:http://localhost:8080/test/test
3.配置文件
注意:
   配置文件必须叫application
   必须放置在resources下
   必须出现绿树叶标识
   严格遵循以下语法格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fJbNf2FX-1594341918355)(assets/1564370377532.png)]

2.使用插件构建(spring initializer)springboot应用
1.选择jdk版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xSlnBxFg-1594341918356)(assets/1564371030689.png)]

2.选择项目名和组织名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvAGQ9u8-1594341918358)(assets/1564371212208.png)]

3.勾选场景启动器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uqhzFgOy-1594341918359)(assets/1564371304752.png)]

5.spring boot中的注解

@SpringBootApplication
 作用范围 :放在类上
 作用     :就是声明该类为springboot应用的入口类
 组合注解  :一个注解含有多个注解的功能

@Configuration
@ComponentScan   spring提出的
@EnableAutoConfiguration  springboot提出的
1.@Configuration
spring  1.x
 IOC  xml
spring  2.x
 注解  xml
spring  3.x
数据持久层使用xml 控制层和业务层使用注解 
@Component
  @Repository
  @Service
  @Controller    作用:声明当前对象为spring工厂的候选者   注解扫描才能将对象交由工厂管理
  将一个对象加有工厂管理的方式有几种?
         <bean> 
         类上加注解配合包扫描
         新型的配置方式  javaconfig  java配置=注解+java代码
spring  4.x
java配置
spring  5.x
java配置

java配置的开发

   A.配置类书写
@Configuration     //@Configuratio等同于配置文件
public class UserConf {
    //返回值 代表交给工厂管理的对象 
    //方法名 在工厂中该对象的唯一标识
    @Bean            // @Bean 等同于bean标签    
    public User getUser(){
        User user = new User();
        user.setId("1");
        user.setName("xiaohei");
        return user;
    }

}
    B.测试
         //获取工厂对象
       ApplicationContext a=new AnnotationConfigApplicationContext(UserConf.class);
        //获取工厂中实例
        String[] beanDefinitionNames = a.getBeanDefinitionNames();
        for (String beanDefinitionName : beanDefinitionNames) {
            System.out.println(beanDefinitionName);
        }
2.@ComponentScan
@ComponentScan 
   使用范围:加在配置类上
   使用作用:将含有
                      @Component
                      @Repository
                      @Service
                      @Controller 等注解的对象交由工厂管理
                      
   使用方式:
   
//排除  controller 
@ComponentScan(basePackages = "com.baizhi.*",excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)})
//只包含 controller
@ComponentScan(basePackages = "com.baizhi.*",includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)},useDefaultFilters = false)

@ComponentScan(basePackages = "com.baizhi.*",includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)},useDefaultFilters = false)
public class UserConf {
    //返回值 代表交给工厂管理的对象  方法名 在工厂中该对象的唯一标识
    @Bean
    public User getUser(){
        User user = new User();
        user.setId("1");
        user.setName("xiaohei");
        return user;
    }
}
                       
3.@EnableAutoConfiguration
使用范围:使用在类上 (springboot)入口类
作用   : 完成自动配置
自动配置:帮你完成一些组件的创建(原理)

4.@RestController

@Controller+@ResponseBody
作用:当前控制器的所有方法均返回json

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值