美文网首页我爱编程
SpringBoot入门使用

SpringBoot入门使用

作者: 其实我很菜啊 | 来源:发表于2018-05-27 11:28 被阅读0次

    在学习 SpringBoot 之前,最好先学习 SSM 这样会对 SpringBoot 更容易上手。在使用 SSM 时我们难免要配置大量的配置文件,如果不使用 maven 管理还要导入大概四五十个 jar 包,还要花上时间去配置服务器。这些繁琐的工作让我们的开发效率大大的降低,那么有没有一种高效开发的方法呢?SpringBoot 完美的帮我们解决了这些烦恼。
    这样说你可能没有什么感触,那么就看看一下两张图片


    ssm SpringBoot

    现在不需要我再多说什么了。

    SpringBoot配置

    在 SpringBoot 中你需要写的配置文件只有两个 pom.xml 和 applicationyml

    • pom.xml
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.1.RELEASE</version>
        </parent>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <!-- Spring-Mybatis -->
    
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.0</version>
            </dependency>
    
            <!-- MySQL -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    

    这个文件主要是配置 maven 仓库引入相关 jar 包

    • application.yml
    server:
      port: 8080
      tomcat.uri-encoding: UTF-8
    
    spring:
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3308/test
        username: root
        password:*******
    
    mybatis:
      type-aliases-package: com.model
    

    application.yml 用于配置相关容器信息
    至此 SpringBoot 的配置已经全部完成,现在你就可以如往常使用 SpringMVC 一样进行开发了

    MVC代码

    默认你已经学习了 SSM,所以一些重复和用法基本一致不再介绍,只针对不同点指出说明

    • dao
    @Repository
    public interface userMapper {
        @Select("select *from user where id = #{id}")
        public List<User>getUser(Integer id);
    }
    

    其实这只是 mybatis 的另一种写法,以往我们习惯于用 xml 逆向工程使用 mybatis,如果使用这种写法不需要配置文件

    • controller
    @RestController
    public class UserController {
    
        @Autowired
        private UserService UserService;
    
    
        @RequestMapping("/getUser")
        public Object getUserInfo(User user){
            System.out.printf(""+user.getId());
            return UserService.selectUser(user.getId());
        }
    
        @RequestMapping("/sayhello")
        public Object sayHello(){
            return "Hello";
        }
    
    }
    

    @RestController注解相当于@ResponseBody + @Controller合在一起的作用。即这样写每一个方法返回的是 JSON 类型的数据。

    • 启动类
    @SpringBootApplication(scanBasePackages="com.*")
    @MapperScan("com.dao")
    public class SampleController {
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SampleController.class, args);
        }
    }
    

    这是整个 web 工程的入口,也是与其他框架最大的不同之处。这里主要关注
    @SpringBootApplication注解,它包括三个注解:

    1. @Configuration:表示将该类作用springboot配置文件类。
    • 1.1 @Configuration:提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。
    1. @EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置。
    • 2.1 @EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。
    1. @ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类。
    • 3.1 @ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

    @MapperScan 扫描 dao 层中所有 mapper 对象
    注意:启动类必须放在 controller 同一个目录之内,或在 controller 目录之上

    启动

    SpringBoot 内置了 tomcat 8,现在你可以如使用普通的 javaApplication 一样直接 run 就好。

    启动成功

    在云服务器中我们不可能使用这种启动方式,那么就要使用到 SpringBoot 的热部署,在 pom.xml 添加以下代码

    <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <dependencies>
                <!-- spring热部署 -->
                <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>springloaded</artifactId>
                  <version>1.2.6.RELEASE</version>
                </dependency>
              </dependencies>
              <configuration>
                <mainClass>cn.springboot.Mainspringboot</mainClass>
              </configuration>
    </plugin>
    

    最后打开 CMD 输入

    $ mvn clean spring-boot:run
    

    对于 SpringBoot 的使用远不止那么简单,还有更多强大的功能没去发掘,由于最近赶比赛我也只是初步了解使用了一下,具体操作还要以后在实际项目中继续学习。

    相关文章

      网友评论

        本文标题:SpringBoot入门使用

        本文链接:https://www.haomeiwen.com/subject/wshbjftx.html