eclipse搭建Spring boot项目

本文详细介绍了Spring Boot项目中如何集成HikariCP连接池、MyBatis以及Spring MVC,包括配置文件设置、注解使用以及Thymeleaf模板引擎的应用。此外,还涉及了Lombok的热部署和Spring Boot主启动类的分析,提供了不同环境配置的示例,帮助读者理解Spring Boot的基础架构和工作原理。

目录

分步骤集成jar包,实现基础功能

1,整合连接池hikariCP

 2,整合mybatis

mybatis中常用注解

使用方式一(注解方式):

使用方式二(映射方式):

3,整合spring mvc 

spring MVC结合Thymeleaf在页面上实现查询操作

查询数据

Lombok热部署 

Spring boot 主启动类分析

application.properties和application.yml

application.properties

application.yml

配置生产环境和开发环境


Springboot是什么?

项目搭建的脚手架

分步骤集成jar包,实现基础功能

说明:所有集成的这些jar包都在pom文件中

1,整合连接池hikariCP

介绍:HikariCP 是一个高性能的 JDBC 连接池组件,可以避免连接频繁建立、关闭的开销,实现数据库连接复用;

导入方式:创建spring boot项目,集成如截图

配置application.properties文件

spring.datasource.url=jdbc:mysql://ip地址/你的数据库名?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

测试类测试

@Autowired它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配

pom文件中的代码:

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

 2,整合mybatis

介绍:MyBatis 是一款优秀的持久层框架,底层基于JDBC实现与数据库的交互。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

导入方式:创建spring boot项目,集成如截图

mybatis中常用注解

@Mapper:用于描述一个数据层的接口,系统底层会为该类创建实现类,并且把实现类的对象传递给Spring框架去管理

@Autowired:它可以对类成员变量、方法及构造函数进行标注,完成自动装配

使用方式一(注解方式):

  1. 创建接口类,并用@Mapper描述该类,如图:                                                                                    
  2. 创建Data数据类                                                                                                                              
  3. 测试类测试                                                                                                                                      
  4. 运行结果

使用方式二(映射方式):

这里链接我的另一篇博客,很全MyBatis框架基础在eclipse中使用的最全教程_小小苏的小小苏-CSDN博客

配置application.properties文件

#mybatis
         mybatis.mapper-locations=classpath:/mapper*/*.xml

此时依赖如下

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.4</version>
		</dependency>

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

3,整合spring mvc 

说白了就是一种架构模式,这个模式是把系统分成三个部分(模型model,视图view,控制器controller)

1,导入方式:添加web依赖(会同时在项目中嵌入一个tomcat服务器),集成如截图(这里我们把Thymeleaf也选中,它是一个第三方html解析引擎)

配置application.properties文件

#spring-thymeleaf
       spring.thymeleaf.prefix=classpath:/templates/pages/
       spring.thymeleaf.suffix=.html

2,resources/templates/pages/目录下在创建goods.html,然后controller类

3,在浏览器打开http://localhost:8080/goods/doGoodsUI就可以查看了

spring MVC结合Thymeleaf在页面上实现查询操作

查询数据

我们在controller类中

@Controller
@RequestMapping("/goods/")
public class GoodsController {
	
	@Autowired
	public GoodsDao goodsDao;
	@RequestMapping("doGoodsUI")
	public String selectAllGoods(Model model) {
		List<RoleData>list=goodsDao.findAllData();
		model.addAttribute("list", list);
		return "goods";
	}
}

在good.html文件中接收

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>数据呈现</h1>
	<table>
		<thead>
			<tr>
				<th>名称</th>
			</tr>
		</thead>

		<!-- 以下是thymeleaf定义 -->
		<tbody>
			<tr th:each="good:${list}">
				<td th:text=${good.name}></td>
			</tr>
		</tbody>
	</table>
</body>
</html>

结果展示

Lombok热部署 

 集成方式同上,热部署就是当我们修改文件之后,会自动帮我们启动服务器

在命令行中使用java -jar 运行lombok.jar,安装插件。

@Accessors(chain = true),添加这个属性可以链式调用

user.setAge(30).setId(1).setName("hhh").setSex("1");

Spring boot 主启动类分析

 当我们的spring boot项目启动时,是如何加载我们pom文件中的jar包的呢?

 当我们的类运行main方法的时候,它会自动扫描@SpringBootApplication注解,点开这个注解查看源码,

@Target(ElementType.TYPE)     //表示使用的对象,这里是在类中使用
@Retention(RetentionPolicy.RUNTIME)    //表示是在什么时候有效
@Documented
@Inherited

上面这四个注解被称为元注解(修饰注解的注解)


@ComponentScan          表示要加载哪些信息


excludeFilters          表示加载的时候,要过滤掉的配置信息


@SpringBootConfiguration

关于这个注解,我们再次点进它的源码

@Configuration修饰,说明这个类是配置类,由此说明,被@SpringBootConfiguration修饰的类就是配置类。


@EnableAutoConfiguration          自动化配置 

点进源码

@AutoConfigurationPackage          自动的配置文件的扫描,只要主启动类启动,就会加载主启动类之后的配置,所以,我们所有的java文件都要写在application所在包目录下或application所在包的子包目录下,写到外面是加载不到的

@Import(AutoConfigurationImportSelector.class) 自动化的配置选择器,pom文件只是把我们的jar包引入到项目中,通过这个类加载器实现自动化配置,实现开箱即用

application.properties和application.yml

application.properties

spring boot默认生成的配置文件,数据结果是(key=value)结构,最好不要有中文,key=value之间最好不要有空格,key不可重复,如上图

application.yml

把properties改成yml即可,并且默认支持中文,区分大小写,层级缩进,key value之间有空格分隔,这里举个例子

配置生产环境和开发环境

通过---三个横线来区分

 那系统怎么区分哪个是生产环境,哪个是测试环境呢,需要用

spring:
  profiles:

来区分,如图:

 那么进入系统,环境默认是哪个呢,需要通过设定默认环境:

spring:
  profiles:
    active:
    - prod
---

这样用---就分割成了三部分

如果选择prod环境,运行程序 

 

如果选择了dev环境,运行

 

常用注解总结

@Component

        当组件不好归类的时候,我们可以使用这个注解进行标注类,标识为一个Bean

@Scope(value = "")    

        value = "singleton"或 value = "prototype"

        什么都不写或者value = "singleton",表示是单例模式,全局只有一个实例,spring负责创建和销毁

        value = "prototype",表示是原型模式,每次获取都会有一个新的实例,spring只会负责创建,不会负责销毁

@Lazy()

        延迟加载,默认为true,value = true则按需加载,false启动项目就会加载,和@Scope(value = "singleton")结合使用

        需要注意的是,@Scope(value = "prototype")的时候,就一定是延迟加载,此时@Lazy()不起作用

@PostConstruct

        生命周期开始方法,对象创建之后执行,用于初始化一些资源

@PreDestroy

        生命周期销毁方法,对象销毁前执行,用于释放一些资源

@Autowired

        对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作

@Qualifier("")

        配合@Autowired一起使用,当多个类继承一个接口的时候,此注解表示当前声明的是哪个

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小苏的小小苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值