SpringBoot+JPA+mysql实现简单的增删改查(一)---Spring Boot入门

文章目录

  • 一、环境搭建
  • 二、配置及分析

一、环境搭建

SpringBoot项目搭建

  • 访问 http://start.spring.io/
  • 选择构建工具 Maven Project、Java、Spring Boot版本以及其它的信息。设置好之后,点击GENERATE下载项目压缩包。
    SpringBoot+JPA+mysql实现简单的增删改查(一)---Spring Boot入门_第1张图片
  • 我使用的是Eclipse,可以File->Import->Existing Maven Project->next->选择解压后的文件夹->Finsh,成功导入到自己的工程中。
  • 导入之后可能会有红叉叉,pom.xml文件第一行出现Unknown错误,这个可能是maven插件和eclispe不兼容的原因(ps:也可以忽略,不影响整体运行)SpringBoot+JPA+mysql实现简单的增删改查(一)---Spring Boot入门_第2张图片
    这样Spring Boot的环境就搭建好啦,是不是很简单。

二、配置及分析

如上图所示:Spring boot的基础结构有三个文件目录:

  • src/main/java:程序开发以及主程序入口
  • src/main/resources:配置文件
  • src/test/java:测试程序
    1)我们可以看到在src/main/java下有一个SchoolApplication.java文件,这是程序入口类SchoolApplication。在Springboot项目中我们可以通过main方法启动项目,在需要启动的主类中我们需要加入@SpringBootApplication这个注解,告诉spring boot,这个是程序的入口。SpringBoot+JPA+mysql实现简单的增删改查(一)---Spring Boot入门_第3张图片
    其中
    @SpringBootApplication是一个复合注解,包括@ComponentScan@SpringBootConfiguration@EnableAutoConfiguration

SpringBoot+JPA+mysql实现简单的增删改查(一)---Spring Boot入门_第4张图片

  • @SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。
  • @EnableAutoConfiguration的作用启动自动的配置,@EnableAutoConfiguration注解的意思就是Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置。
  • @ComponentScan扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。是以前的context:component-scan(以前使用在xml中使用的标签,用来扫描包配置的平行支持)。
    这篇相关分析写的不错,可以看看:简明易理解的@SpringBootApplication注解源码解析(包含面试提问)

2)src/main/resources下有个application.properties文件。
默认创建spring-boot项目后,会在resources目录下生成一个空的application.properties配置文件,springboot启动时加载该配置文件。
application.properties(或者application.yml)中包含系统属性、环境变量、命令参数这类信息。
我的文件配置如下:

spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
#项目端口配置
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_test?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=12345678
spring.datasource.initialSize=20
spring.datasource.minIdle=50
spring.datasource.maxActive=500
 
#Mysql数据源配置
server.port=8888
server.servlet.context-path=/schoolSystem
 
#jpa
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

这里有一篇文章是关于Spring Boot
之Application.properties配置大全。不需要记忆,要用什么配置,直接查一下就好了,嘿嘿,很适合我这种记性不好的人。
或者能力强的人直接看官方文档:Spring Boot Reference Documentation

3)src/test/java下可以进行一些测试。当运行 Spring Boot 应用程序测试时,它会自动的从当前测试类所在的包起一层一层向上搜索,直到找到一个@SpringBootApplication或@SpringBootConfiguration注释类为止。以此来确定如何装载 Spring 应用程序的上下文资源。只要你以合理的方式组织你的代码,你项目的主配置通常是可以被发现的。
4)有关pom.xml文件。

POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。
该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

我的pom.xml文件如下,这些都是为后面做的项目做基础哦。



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.2.6.RELEASE
		 
	
	com.hh
	School
	0.0.1-SNAPSHOT
	School
	Demo project for School Management System

	
		11
		
	

	
	
		
			org.springframework.boot
			spring-boot-starter
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
			
				
					org.junit.vintage
					junit-vintage-engine
				
			
		
		
		

    org.springframework.boot
    spring-boot-starter-web


        
            javax.servlet
            javax.servlet-api
        
        
            javax.servlet
            jstl
        
        
        
        
            org.apache.tomcat.embed
            tomcat-embed-jasper
            provide
        
        
        
            mysql
            mysql-connector-java
          	8.0.19
        
        
        
            org.springframework.boot
            spring-boot-starter-data-jpa
           

	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

你可能感兴趣的:(项目)