Spring Boot整合Spring MVC、Spring、Spring Data JPA(Hibernate)

时间:2021-10-16 23:16:35

一句话总结:Spring Boot不是新的功能框架,而是为了简化如SSH、SSM等等多个框架的搭建、整合及配置。使用Spring Boot 10分钟搭建起Spring MVC、Spring、Spring Data JPA(Hibernate)基础后台架构。基本零配置,全注解。

 

步骤一:

使用Spring Boot提供的网站生成maven项目及基础依赖。打开https://start.spring.io/网站,右侧输入想要的特性依赖。输入Web提供整合Spring MVC,输入JPA提供整合Spring Data JPA和Hibernate。其他按需输入想要的功能特性。

Spring Boot整合Spring MVC、Spring、Spring Data JPA(Hibernate)

 

步骤二:

使用IDE导入步骤一生成的maven项目

 

步骤三:

验证北向Rest,创建Northbound类,Spring Boot已经整合入Spring MVC,按Spring MVC注解即可

@RestController
@RequestMapping("/rootpath")
public class DemoNorthbound {

    // @Autowired
    // private DemoService demoService;

    @RequestMapping("/restpath")
    public String testPrint() {

        System.out.println("hahaha...........");
        return "hello world...";
    }
}

 

步骤四:

验证数据库操作,安装Mysql,在/src/main/resources/application.properties文件中配置数据库连接及Hibernate参数(唯一的配置)

#datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/demodb?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=yuzhengzhong

#jpa
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

在项目pom.xml中引用mysql driver

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

创建实体类

@Entity
@Table(name = "t_sys_user")
public class UserEntity {

    @Id
    @Column(length = 36)
    private String id;

    @Column(length = 100)
    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

创建DAO数据库操作类,Spring Boot已经整合了Spring Data JPA,按Spring Data JPA继承其Repository类,在Service中注入该DAO Repository类

public interface UserRepository extends JpaRepository<UserEntity, String> {
    // 常用DB操作使用JpaRepository提供的接口即可,甚至默认无需实现类
}

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;
}

 

大功告成! 

总结下,可以看到Spring Boot极大的简化了框架的引入和多个框架之间的整合,其能够整合的功能还很多,如测试、热加载、3A认证等等,非常强大,当前非常流行。

 

作者提供了上述代码的样例,可以直接下载基于样例开发 https://github.com/yuzhengzhong/springboot-base

 

引用:

http://spring.io/projects/spring-boot

 

Spring Boot整合Spring MVC、Spring、Spring Data JPA(Hibernate)