spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。 Edit
spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。 Edit
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 65 个集成demo,已经完成 53 个。 该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)、通用Mapper(快速操作Mybatis)、PageHelper(通用的Mybatis分页插件)、mybatis-plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、xxl-job(分布式定时任务)、swagger(API接口管理测试)、security(基于RBAC的动态权限认证)、SpringSession(Session共享)、Zookeeper(结合AOP实现分布式锁)、RabbitMQ(消息队列)、Kafka(消息队列)、websocket(服务端推送监控服务器运行信息)、socket.io(聊天室)、ureport2(中国式报表)、打包成war文件、集成 ElasticSearch(基本操作和高级查询)、Async(异步任务)、集成Dubbo(采用官方的starter)、MongoDB(文档数据库)、neo4j(图数据库)、docker(容器化)、JPA多数据源、Mybatis多数据源、代码生成器、GrayLog(日志收集)、JustAuth(第三方登录)、LDAP(增删改查)、动态添加/切换数据源、单机限流(AOP + Guava RateLimiter)、分布式限流(AOP + Redis + Lua)、ElasticSearch 7.x(使用官方 Rest High Level Client)、HTTPS。
demo quarkus
最近一年贡献:20 次
最长连续贡献:1 日
最近连续贡献:1 日
贡献度的统计数据包括代码提交、创建任务 / Pull Request、合并 Pull Request,其中代码提交的次数需本地配置的 git 邮箱是 Gitee 帐号已确认绑定的才会被统计。
package yuwell.dso.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.noear.solon.annotation.Inject;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlElement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@jav
@WebService(serviceName = "YuwellService", targetNamespace = "http://demo.solon.io")
public class HelloServiceImpl {
@inject
private PatientsBaseInformationService bcPatientService;
@inject
private BloodSugarDataService bloodSugarDataService;
@inject
private DoctorNurseInformationService doctorNurseInformationService;
@inject
private SetMeasurementPointService setMeasurementPointService;
@Inject("${bc.hospitalUid}")
private String hospitalUid;
@WebMethod
// public String hello(@WebParam(name = "Request") String bgmReqHis) { Response
public @XmlElement(name = "Response")ResponseHis getBgm(RequestReqHis requestReqHis) {
log.info("getBgm() ------parameters => 【requestReqHis = {}】", requestReqHis);
ResponseHis responseHis = new ResponseHis();
return responseHis;
}
}
package yuwell.model.his;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@XmlRootElement(name = "Response")
public class ResponseHis {
private int status;
private String msg;
private BloodList bloodList;
// Getters and Setters
@XmlElement(name = "status")
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
@XmlElement(name = "msg")
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
@XmlElement(name = "BloodList")
public BloodList getBloodList() {
return bloodList;
}
public void setBloodList(BloodList bloodList) {
this.bloodList = bloodList;
}
}
FROM registry.cn-hangzhou.aliyuncs.com/yuwell-library/yuwell-maven:3.9.5-eclipse-temurin-21 AS maven_build
COPY pom.xml /solon/
COPY . /solon/
WORKDIR /solon/
RUN mvn clean package -Dmaven.test.skip=true
FROM eclipse-temurin:21-jre-jammy
WORKDIR app
COPY --from=MAVEN_BUILD /solon/target/*.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]