SpringBoot学习(1)

1.了解SpringBoot

SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品。
为什么要学习SpringBoot
java一直被人诟病的一点就是臃肿、麻烦,主要原因主要是两点:

  • 复杂的配置
  • 混乱的依赖管理

而SpringBoot可以很好的解决上述问题,为所有 Spring 的开发者提供一个开箱即用的、非常快速的、广泛接受的入门体验
Spring Boot 主要特征:

  • 创建独立的spring应用程序
  • 直接内嵌tomcat、jetty和undertow(不需要打包成war包部署)
  • 提供了固定化的“starter”配置,以简化构建配置
  • 尽可能的自动配置spring和第三方库
  • 提供产品级的功能,如:安全指标、运行状况监测和外部化配置等
  • 绝对不会生成代码,并且不需要XML配置

2.入门

创建工程,引入依赖,编写Controller

@RestController
@EnableAutoConfiguration
public class HelloController {

    @GetMapping("show")
    public String test(){
        return "hello akun springboot";
    }

    public static void main(String[] args) {
        SpringApplication.run(HelloController.class, args);
    }
}

测试
在这里插入图片描述
启动器: 为了让SpringBoot帮我们完成各种自动配置,我们必须引入SpringBoot提供的自动配置依赖,我们称为启动器
关于注解 @EnableAutoConfiguration: 是开启spring应用程序的自动配置,SpringBoot基于你所添加的依赖和你自己定义的bean,试图去猜测并配置你想要的配置。

3.优化入门程序

如果有多个Controller,在每一个Controller中都添加一个main方法和@EnableAutoConfiguration注解,这样启动一个springboot程序也太麻烦了。也无法同时启动多个Controller,因为每个main方法都监听8080端口。所以,一个springboot程序应该只有一个springboot的main方法。

所以,springboot程序引入了一个全局的引导类。

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(DemoApplication.class,args);
    }
}

**@SpringBootApplication:**是一个组合注解,这里重点的注解有3个:

  • @SpringBootConfiguration:声明当前类是SpringBoot应用的配置类
  • @EnableAutoConfiguration:开启自动配置
  • @ComponentScan:开启注解扫描

4.配置

java配置主要靠java类和一些注解来达到和xml配置一样的效果,比较常用的注解有:

  • @Configuration:声明一个类作为配置类,代替xml文件
  • @Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签
  • @Value:属性注入
  • @PropertySource:指定外部属性文件。

添加application.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/spr
jdbc.username=root
jdbc.password=root

新建JdbcProperties,用来进行属性注入

@ConfigurationProperties(prefix = "jdbc")
public class JdbcProperties {
    private String url;
    private String driverClassName;
    private String username;
    private String password;
    // ... 略
    // getters 和 setters
}

在JdbcConfiguration中使用这个属性

@Configuration
@EnableConfigurationProperties(JdbcProperties.class)//启用JdbcProperties的属性配置
public class jdbcConfiguration {

    @Autowired
    JdbcProperties jdbcProperties;

    @Bean
    public DataSource dataSource(){

        DruidDataSource dataSource=new DruidDataSource();
        dataSource.setUrl(jdbcProperties.getUrl());
        dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
        dataSource.setUsername(jdbcProperties.getUsername());
        dataSource.setPassword(jdbcProperties.getPassword());

        return dataSource;
    }
}

我们在HelloController中打个断点,在网页访问测试:
在这里插入图片描述
在这里插入图片描述
属性注入成功了!
整个结构
在这里插入图片描述
关于SpringBoot要了解更多可以看这篇文章

https://blog.csdn.net/illusory_germ/article/details/100607670
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值