# study_java_web
## 介绍
### Java基础学习
#### 源码
https://gitee.com/bseaworkspace/study_java_web/tree/master/corejava-demo
### Servlet学习--实战项目 学生管理&资料管理
#### 源码
https://gitee.com/bseaworkspace/study_java_web/tree/master/servletdemo
### SpringBoot 入门
#### 源码
https://gitee.com/bseaworkspace/study_java_web/tree/master/springbootbasic
#### 环境搭建
1. 配置pom文件
2. 创建启动类,启动类上的注解是 @SpringBootApplication
3. 创建测试controller类,注意controller类必须是在启动类的包
的同级或者下一级。 conroller类的上面加@RestController这个注解
表示这个类的返回值都默认转换成json格式
在controller的方法上面加 @RequestMapping("/hello") 表示设置
方法的拦截路径是hello
#### 配置文件使用方法
1. springboot 配置文件名字必须是application.properties
并且放在resoures下面
2. 通过 @Value("${myversion}")可以获取配置文件上的自定义属性的值
3. 下面是两个在配置文件中的常用设置
#####端口号
server.port=9001
#####相对于项目名字
server.servlet.context-path=/springboot1
#### 参考博客
##### 环境搭建
https://blog.csdn.net/h356363/article/details/98381244
##### 常用注解
https://blog.csdn.net/h356363/article/details/94054756
### SpringBoot 集成 JPA
#### 源码
https://gitee.com/bseaworkspace/study_java_web/tree/master/springbootJPA
#### 参考博客
SpringBoot2 学习3 集成JPA
https://blog.csdn.net/h356363/article/details/98523963
SpringBoot2 学习4 JPA 查询
https://blog.csdn.net/h356363/article/details/98786017
#### 环境搭建
1. 在pom添加包
<!-- 添加JPA的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2. 配置文件中设置相关属性
spring.datasource.url = jdbc:mysql://localhost:3306/java12i?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8
spring.datasource.username = root
spring.datasource.password = XSZ202006a
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
#### 注解
- @Entity 表示是一个实体类,一个实体类对应一个数据库表
- Spring data JPA 采用hibernate实现,通过entity可以反向生成数据表
#### 前端和后台API通信的两种方式
- form 表单提交,一般需要后台控制页面跳转,所以API类上加 @Controller
- ajax 局部刷新,页面不跳转,后台API只负责数据交互,所以API类上加 @RestController 返回
Json格式的数据
- 另外如果@Controller类里面的方法,也想只返回数据,不做页面跳转,可以在方法的上面加 @ResponseBody
来实现
### SpringBoot 接收参数的各种方式
#### 参考博客
https://blog.csdn.net/h356363/article/details/90510609
### SpringBoot 集成MyBatis
#### 集成具体步骤 参考博客
https://blog.csdn.net/h356363/article/details/100548024
#### 自动生成代码 mybatis generator参考博客
https://blog.csdn.net/h356363/article/details/90649491
#### 源码
https://gitee.com/bseaworkspace/study_java_web/tree/master/springbootMybatis
#### pagehelper 分页插件
实现步骤
- 第一步: 添加对应的jar在pom文件中。
<!--pagehelper 分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
- 第二步: 在controller中配置相关参数
```
/**
* PageHelper.startPage(1, 3);
* 第一个参数表示页码,就是第几页。 从1开始
* 第二个参数表示,一页显示多少行数据
*/
@RequestMapping("allresourcepage")
@ResponseBody
public List<ResourceData> getAll2(ResourceData resourceData){``
PageHelper.startPage(1, 3);
List<ResourceData> list= resourceRepository.selectAll();
PageInfo<ResourceData> pageInfo = new PageInfo<ResourceData>(list);
List<ResourceData> result = pageInfo.getList();
return pageInfo.getList();
}`
## SpringIntegration 系列
源码地址:
https://gitee.com/bseaworkspace/study_java_web/tree/master/springIntegrationJMS
博客地址:
https://blog.csdn.net/h356363/article/details/112398340#comments_14565051
## 更多学习资料 请关注微信公众号
![个人学习微信公众号](https://images.gitee.com/uploads/images/2020/1127/113142_f6ab57bb_768204.jpeg "qrcode_for_gh_caf4624e6df8_258.jpg")
- 第10章 SSH & SpringCloud猎聘系统实战
微服务架构提倡我们把单一的业务拆分到一个小服务,每个服务都能独立运行,服务之间相互协调调用,最终组合实现一个完整的复杂的系统。使用Spring Boot可以快速开发一个个单独的项目,这些项目可以是微服务架构中的一个个单独的微服务。
SpringCloud 主要负责所有微服务的协调治理,把Spring Booot开发的一个个单独微服务整合管理起来。本案例采用了Spring+Spring Boot+Hibernate 开发单独的微服务,Spring Cloud来整合这些微服务。
本案例涉及到的技术要点如下:
- Spring Cloud Eureka 服务注册与发现
- Spring Cloud Ribbon 负载均衡
- 微服务架构
- RestTemplate 实现http通信
- Google开源工具类Thumbnails对图片做压缩处理
- Spring Boot集成Swagger
- 通过Swagger API 文档测试API接口
- freemarker导出word
- JdbcTemplate实现复杂的数据库查询
Lombok 插件自动生成get,set方法