zheng
基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析 、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。
Top Related Projects
spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。
:seedling::rocket:一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目~
🚀一个用来深入学习并实战 Spring Boot 的项目。
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
《Spring Boot基础教程》,2.x版本持续连载中!点击下方链接直达教程目录!
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Quick Overview
Zheng is a comprehensive Java EE enterprise application development framework based on Spring+SpringMVC+Mybatis. It provides a modular architecture and includes various components for building large-scale, distributed systems. The project aims to simplify enterprise application development by offering a set of pre-configured modules and best practices.
Pros
- Modular architecture allows for easy customization and scalability
- Comprehensive set of components covering various aspects of enterprise development
- Well-documented with detailed explanations and examples
- Active community and regular updates
Cons
- Steep learning curve for developers new to the Spring ecosystem
- Large codebase may be overwhelming for smaller projects
- Some modules may be overkill for simple applications
- Documentation is primarily in Chinese, which may be a barrier for non-Chinese speakers
Code Examples
- Configuring a Mybatis mapper:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(@Param("id") Long id);
}
- Creating a RESTful controller:
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public ResponseEntity<User> getUser(@PathVariable Long id) {
User user = userService.getUserById(id);
return ResponseEntity.ok(user);
}
}
- Configuring a Spring Boot application:
@SpringBootApplication
@EnableTransactionManagement
@MapperScan("com.zheng.mapper")
public class ZhengApplication {
public static void main(String[] args) {
SpringApplication.run(ZhengApplication.class, args);
}
}
Getting Started
-
Clone the repository:
git clone https://github.com/shuzheng/zheng.git
-
Navigate to the project directory:
cd zheng
-
Build the project using Maven:
mvn clean install
-
Run the application:
java -jar zheng-webapp/target/zheng-webapp.jar
-
Access the application at
http://localhost:8080
Competitor Comparisons
spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。
Pros of springboot-learning-example
- More focused on Spring Boot, providing specific examples and tutorials
- Regularly updated with newer Spring Boot versions and features
- Better organized structure with separate modules for different topics
Cons of springboot-learning-example
- Less comprehensive in terms of overall system architecture
- Lacks integration with other popular frameworks and tools
- Smaller community and fewer contributors
Code Comparison
springboot-learning-example:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
zheng:
@SpringBootApplication
@EnableDubboConfiguration
public class ZhengAdminWebApplication {
public static void main(String[] args) {
SpringApplication.run(ZhengAdminWebApplication.class, args);
}
}
The main difference in the code snippets is that zheng includes additional configurations like @EnableDubboConfiguration
, indicating a more complex setup with integration of other frameworks.
springboot-learning-example focuses on providing clear, simple examples for learning Spring Boot, while zheng offers a more comprehensive solution with additional integrations and architectural patterns. The choice between the two depends on whether you're looking for focused Spring Boot learning or a more complete system architecture example.
:seedling::rocket:一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API 项目~
Pros of spring-boot-api-project-seed
- Lightweight and focused on API development, making it easier to get started quickly
- Provides a clear and simple project structure for Spring Boot applications
- Includes basic configurations and utilities commonly used in API projects
Cons of spring-boot-api-project-seed
- Less comprehensive than zheng, offering fewer out-of-the-box features
- May require more manual setup for complex enterprise applications
- Limited documentation compared to zheng
Code Comparison
spring-boot-api-project-seed:
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
}
zheng:
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
Both projects provide CORS configuration, but zheng offers a more detailed setup using CorsFilter
, while spring-boot-api-project-seed uses a simpler approach with WebMvcConfigurer
.
🚀一个用来深入学习并实战 Spring Boot 的项目。
Pros of spring-boot-demo
- More focused on Spring Boot, providing a comprehensive set of examples
- Regularly updated with new features and improvements
- Cleaner project structure, making it easier for beginners to navigate
Cons of spring-boot-demo
- Less comprehensive in terms of overall system architecture
- Lacks some advanced features present in zheng
- May not be suitable for large-scale enterprise applications
Code Comparison
spring-boot-demo:
@SpringBootApplication
public class SpringBootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootDemoApplication.class, args);
}
}
zheng:
@SpringBootApplication
@EnableDubboConfiguration
public class ZhengAdminWebApplication {
public static void main(String[] args) {
SpringApplication.run(ZhengAdminWebApplication.class, args);
}
}
The main difference in the code snippets is that zheng includes @EnableDubboConfiguration
, indicating its use of the Dubbo framework for distributed systems, while spring-boot-demo focuses solely on Spring Boot functionality.
spring-boot-demo is more suitable for developers looking to learn Spring Boot and its various features, while zheng provides a more comprehensive solution for building large-scale distributed systems. The choice between the two depends on the specific requirements of the project and the developer's experience level.
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Pros of spring-boot-examples
- Focused specifically on Spring Boot, providing a wide range of examples
- Well-organized structure with separate directories for different topics
- Regularly updated with new examples and improvements
Cons of spring-boot-examples
- Less comprehensive in terms of full-stack application architecture
- Lacks integration with other popular frameworks and tools
- May not provide as much guidance for large-scale project development
Code Comparison
spring-boot-examples:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
zheng:
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ZhengAdminWebApplication {
public static void main(String[] args) {
SpringApplication.run(ZhengAdminWebApplication.class, args);
}
}
The code comparison shows that zheng includes additional annotations for service discovery and Feign clients, indicating a more complex microservices architecture compared to the simpler Spring Boot setup in spring-boot-examples.
《Spring Boot基础教程》,2.x版本持续连载中!点击下方链接直达教程目录!
Pros of SpringBoot-Learning
- More focused on Spring Boot, providing in-depth tutorials and examples
- Regularly updated with new Spring Boot features and best practices
- Better organized structure for learning purposes
Cons of SpringBoot-Learning
- Less comprehensive in terms of overall system architecture
- Fewer integrations with other technologies and frameworks
- Smaller community and fewer contributors
Code Comparison
SpringBoot-Learning:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
zheng:
@SpringBootApplication
@EnableDubboConfiguration
public class ZhengAdminWebApplication {
public static void main(String[] args) {
SpringApplication.run(ZhengAdminWebApplication.class, args);
}
}
The main difference in the code snippets is that zheng includes additional configuration for Dubbo, a high-performance RPC framework, while SpringBoot-Learning focuses on a basic Spring Boot application setup.
SpringBoot-Learning is ideal for developers looking to learn Spring Boot in-depth, with a structured approach to tutorials and examples. It's regularly updated but lacks the comprehensive system architecture and integrations found in zheng.
zheng, on the other hand, offers a more complete solution with various integrations and a larger community, but may be overwhelming for those solely focused on learning Spring Boot basics.
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统 包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Pros of mall
- More focused on e-commerce, providing a comprehensive solution for online retail
- Better documentation and tutorials, making it easier for newcomers to get started
- More active development and frequent updates
Cons of mall
- Less modular architecture compared to zheng's microservices approach
- More complex setup due to its comprehensive nature
- Potentially steeper learning curve for developers new to e-commerce systems
Code Comparison
mall (Product Service):
@Service
public class PmsProductServiceImpl implements PmsProductService {
@Autowired
private PmsProductMapper productMapper;
@Autowired
private PmsProductLadderMapper productLadderMapper;
// ... more dependencies
}
zheng (User Service):
@Service
@BaseService
public class UserServiceImpl extends BaseServiceImpl<UserMapper, User, UserExample> implements UserService {
private static final Logger LOGGER = LoggerFactory.getLogger(UserServiceImpl.class);
@Autowired
UserMapper userMapper;
}
Both projects use Spring Boot and follow similar service implementation patterns. However, mall's services are more specialized for e-commerce, while zheng's services are more generic and adaptable to various use cases.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
zheng
交æµQQ群ï¼133107819ã284280411ã305155242ðµã528049386ã157869467ðµã570766789ðµã601147566ðµã309985359ðµã336380857ðµã522723488ã556447629ã654558397ðµã392564561ðµã494594000ðµã494070275ðµã168267539ðµã652798487ðµã650979251ðµã622461564ðµã219381522ðµã487874426ðµã398342630ðµã205986087ðµã574153262ðµã606890936ðµã565434047ðµã680947971ðµã341884034ðµã562977817ðµã478962414ðµã679219230ðµã676766033ðµã621874750ðµã522903600ðµã524932879ðµã376261902ðµã481096887ðµã232104667ðµã637879277ðµã697575367ðµã702995203ðµã708665910ðµã697141239ðµã574057714ðµã631332162ðµã591739143ðµã731016871ðµã598738752ðµã748759166ðµã159816595(群å å«åç§å·¥å ·ãææ¡£ãè§é¢æç¨ä¸è½½)
åè¨
ããzheng
项ç®ä¸ä»
ä»
æ¯ä¸ä¸ªå¼åæ¶æï¼èæ¯åªåæé ä¸å¥ä» åç«¯æ¨¡æ¿ - åºç¡æ¡æ¶ - åå¸å¼æ¶æ - å¼æºé¡¹ç® - æç»éæ - èªå¨åé¨ç½² - ç³»ç»çæµ - æ ç¼å级 çå
¨æ¹ä½J2EEä¼ä¸çº§å¼å解å³æ¹æ¡ã
项ç®ä»ç»
ããåºäºSpring+SpringMVC+Mybatisåå¸å¼ææ·å¼åç³»ç»æ¶æï¼æä¾æ´å¥å ¬å ±å¾®æå¡æå¡æ¨¡åï¼å 容管çãæ¯ä»ä¸å¿ãç¨æ·ç®¡çï¼å æ¬ç¬¬ä¸æ¹ï¼ã微信平å°ãåå¨ç³»ç»ãé ç½®ä¸å¿ãæ¥å¿åæãä»»å¡åéç¥çï¼æ¯ææå¡æ²»çãçæ§å追踪ï¼åªå为ä¸å°åä¼ä¸æé å ¨æ¹ä½J2EEä¼ä¸çº§å¼å解å³æ¹æ¡ã
ç»ç»ç»æ
zheng
âââ zheng-common -- SSMæ¡æ¶å
Œ
±æ¨¡å
âââ zheng-admin -- åå°ç®¡ç模æ¿
âââ zheng-ui -- åå°thymeleaf模æ¿[端å£:1000]
âââ zheng-config -- é
ç½®ä¸å¿[端å£:1001]
âââ zheng-upms -- ç¨æ·æé管çç³»ç»
| âââ zheng-upms-common -- upmsç³»ç»å
Œ
±æ¨¡å
| âââ zheng-upms-dao -- 代ç çæ模åï¼æ éå¼å
| âââ zheng-upms-client -- éæupmsä¾èµå
ï¼æä¾åç¹è®¤è¯ãææãç»ä¸ä¼è¯ç®¡ç
| âââ zheng-upms-rpc-api -- rpcæ¥å£å
| âââ zheng-upms-rpc-service -- rpcæå¡æä¾è
| âââ zheng-upms-server -- ç¨æ·æéç³»ç»åSSOæå¡ç«¯[端å£:1111]
âââ zheng-cms -- å
容管çç³»ç»
| âââ zheng-cms-common -- cmsç³»ç»å
Œ
±æ¨¡å
| âââ zheng-cms-dao -- 代ç çæ模åï¼æ éå¼å
| âââ zheng-cms-rpc-api -- rpcæ¥å£å
| âââ zheng-cms-rpc-service -- rpcæå¡æä¾è
| âââ zheng-cms-search -- æç´¢æå¡[端å£:2221]
| âââ zheng-cms-admin -- åå°ç®¡ç[端å£:2222]
| âââ zheng-cms-job -- æ¶æ¯éåãä»»å¡è°åº¦ç[端å£:2223]
| âââ zheng-cms-web -- ç½ç«åå°[端å£:2224]
âââ zheng-pay -- æ¯ä»ç³»ç»
| âââ zheng-pay-common -- payç³»ç»å
Œ
±æ¨¡å
| âââ zheng-pay-dao -- 代ç çæ模åï¼æ éå¼å
| âââ zheng-pay-rpc-api -- rpcæ¥å£å
| âââ zheng-pay-rpc-service -- rpcæå¡æä¾è
| âââ zheng-pay-sdk -- å¼åå·¥å
·å
| âââ zheng-pay-admin -- åå°ç®¡ç[端å£:3331]
| âââ zheng-pay-web -- æ¼ç¤ºç¤ºä¾[端å£:3332]
âââ zheng-ucenter -- ç¨æ·ç³»ç»(å
æ¬ç¬¬ä¸æ¹ç»å½)
| âââ zheng-ucenter-common -- ucenterç³»ç»å
Œ
±æ¨¡å
| âââ zheng-ucenter-dao -- 代ç çæ模åï¼æ éå¼å
| âââ zheng-ucenter-rpc-api -- rpcæ¥å£å
| âââ zheng-ucenter-rpc-service -- rpcæå¡æä¾è
| âââ zheng-ucenter-web -- ç½ç«åå°[端å£:4441]
âââ zheng-wechat -- 微信系ç»
| âââ zheng-wechat-mp -- 微信å
¬ä¼å·ç®¡çç³»ç»
| | âââ zheng-wechat-mp-dao -- 代ç çæ模åï¼æ éå¼å
| | âââ zheng-wechat-mp-service -- ä¸å¡é»è¾
| | âââ zheng-wechat-mp-admin -- åå°ç®¡ç[端å£:5551]
| âââ zheng-ucenter-app -- 微信å°ç¨åºåå°
âââ zheng-api -- APIæ¥å£æ»çº¿ç³»ç»
| âââ zheng-api-common -- apiç³»ç»å
Œ
±æ¨¡å
| âââ zheng-api-rpc-api -- rpcæ¥å£å
| âââ zheng-api-rpc-service -- rpcæå¡æä¾è
| âââ zheng-api-server -- apiç³»ç»æå¡ç«¯[端å£:6666]
âââ zheng-oss -- 对象åå¨ç³»ç»
| âââ zheng-oss-sdk -- å¼åå·¥å
·å
| âââ zheng-oss-web -- åå°æ¥å£[端å£:7771]
| âââ zheng-oss-admin -- åå°ç®¡ç[端å£:7772]
âââ zheng-message -- å®æ¶éç¥ç³»ç»
| âââ zheng-message-sdk -- å¼åå·¥å
·å
| âââ zheng-message-server -- æå¡ç«¯[端å£:8881,SocketIO端å£:8882]
| âââ zheng-message-client -- 客æ·ç«¯
âââ zheng-shop -- çµååå¡ç³»ç»
âââ zheng-demo -- 示ä¾æ¨¡å(å
å«ä¸äºç¤ºä¾ä»£ç ç)
âââ zheng-demo-rpc-api -- rpcæ¥å£å
âââ zheng-demo-rpc-service -- rpcæå¡æä¾è
âââ zheng-demo-web -- æ¼ç¤ºç¤ºä¾[端å£:9999]
ææ¯éå
å端ææ¯:
å端ææ¯:
æ¶æå¾
模åä¾èµ
模åä»ç»
zheng-common
Spring+SpringMVC+Mybatisæ¡æ¶éæå ¬å ±æ¨¡åï¼å æ¬å ¬å ±é ç½®ãMybatisGeneratoræ©å±æ件ãéç¨BaseServiceãå·¥å ·ç±»çã
zheng-admin
åºäºbootstrapå®ç°çååºå¼Material Designé£æ ¼çéç¨åå°ç®¡çç³»ç»ï¼zheng
项ç®ææåå°ç³»ç»é½æ¯ä½¿ç¨è¯¥æ¨¡åçé¢ä½ä¸ºå端å±ç¤ºã
zheng-ui
å个åç³»ç»åå°thymeleaf模æ¿ï¼å端èµæºæ¨¡åï¼ä½¿ç¨nginx代çï¼å®ç°å¨éå离ã
zheng-upms
æ¬ç³»ç»æ¯åºäºRBACææååºäºç¨æ·ææçç»ç²åº¦æéæ§å¶éç¨å¹³å°ï¼å¹¶æä¾åç¹ç»å½ãä¼è¯ç®¡çåæ¥å¿ç®¡çãæ¥å ¥çç³»ç»å¯èªç±å®ä¹ç»ç»ãè§è²ãæéãèµæºçãç¨æ·æé=ææ¥æè§è²æéåé+ç¨æ·å æé-ç¨æ·åæéï¼ä¼å 级ï¼ç¨æ·åæé>ç¨æ·å æé>è§è²æé
zheng-oss
æ件åå¨ç³»ç»ï¼æä¾åç§æ¹æ¡ï¼
- é¿éäº OSS
- è ¾è®¯äº COS
- ä¸çäº
- æ¬å°åå¸å¼åå¨
zheng-api
æå¡ç½å ³ï¼å¯¹å¤æ´é²ç»ä¸è§èçæ¥å£åå è£ ååºç»æï¼å æ¬å个åç³»ç»ç交äºæ¥å£ã对å¤å¼æ¾æ¥å£ãå¼åå å¯æ¥å£ãæ¥å£ææ¡£çæå¡ï¼å¯å¨è¯¥æ¨¡åæ¯æéªç¾ãé´æãè·¯ç±ãéæµãçæ§ã容éãæ¥å¿çåè½ã示ä¾å¾ï¼
zheng-cms
å 容管çç³»ç»ï¼æ¯æå¤æ ç¾ãå¤ç±»ç®ã强大è¯è®ºçå 容管çï¼æåºæ¬å页å±ç¤ºï¼èå管çï¼ç³»ç»è®¾ç½®çåè½ã
zheng-pay
-
ä¸ç«å¼æ¯ä»è§£å³æ¹æ¡ï¼ç»ä¸ä¸åæ¥å£ï¼æ¯ææ¯ä»å®ã微信ãç½é¶çå¤ç§æ¯ä»æ¹å¼ãä¸æ¶åä¸å¡ç纯粹çæ¯ä»å¹³å°ã
-
ç»ä¸ä¸åï¼ç»ä¸ä¸åæ¥å£ãç»ä¸æ«ç ï¼ã订å管çãæ°æ®åæãè´¢å¡æ¥è¡¨ãåæ·ç®¡çãæ¸ é管çã对账系ç»ãç³»ç»çæ§ã
zheng-ucenter
éç¨ç¨æ·ç®¡çç³»ç»ï¼ å®ç°æ常ç¨çç¨æ·æ³¨åãç»å½ãèµæ管çã个人ä¸å¿ã第ä¸æ¹ç»å½çåºæ¬éæ±ï¼æ¯ææ©å±äºæ¬¡å¼åã
zheng-wechat-mp
å¾®ä¿¡å ¬ä¼å·ç®¡çå¹³å°ï¼é¤å®ç°å®ç½åå°èªå¨åå¤ãèå管çãç´ æ管çãç¨æ·ç®¡çãæ¶æ¯ç¾¤åçåºç¡åè½å¤ï¼è¿æäºç»´ç æ¨å¹¿ãè¥éæ´»å¨ãå¾®ç½ç«ãä¼åå¡ãä¼æ å¸çã
zheng-wechat-app
微信å°ç¨åºåå°
zheng-message
åºäºNettyå®ç°SocketIOçå®æ¶æ¨éç³»ç»ãæ¯æå½å空é´ãäºè¿å¶æ°æ®ãSSLãACKçåè½ã
ç¯å¢æ建ï¼QQ群å æâzhengç¯å¢æ建åç³»ç»é¨ç½²ææ¡£.docâï¼
å¼åå·¥å ·:
- MySql: æ°æ®åº
- jetty: å¼åæå¡å¨
- Tomcat: åºç¨æå¡å¨
- SVN|Git: çæ¬ç®¡ç
- Nginx: åå代çæå¡å¨
- Varnish: HTTPå éå¨
- IntelliJ IDEA: å¼åIDE
- PowerDesigner: å»ºæ¨¡å·¥å ·
- Navicat for MySQL: æ°æ®åºå®¢æ·ç«¯
å¼åç¯å¢ï¼
- Jdk7+
- Mysql5.5+
- Redis
- Zookeeper
- ActiveMQ
- Dubbo-admin
- Dubbo-monitor
å·¥å ·å®è£
ç¯å¢æ建åç³»ç»é¨ç½²ææ¡£(ä½è ï¼å°å µï¼QQç¾¤å ±äº«æä¾ä¸è½½)
èµæºä¸è½½
- JDK7 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
- Maven http://maven.apache.org/download.cgi
- Redis https://redis.io/download
- ActiveMQ http://activemq.apache.org/download-archives.html
- ZooKeeper http://www.apache.org/dyn/closer.cgi/zookeeper/
- Dubbo http://dubbo.io/Download-zh.htm
- Elastic Stack https://www.elastic.co/downloads
- Nginx http://nginx.org/en/download.html
- Jenkins http://updates.jenkins-ci.org/download/war/
- dubbo-admin-2.5.3 http://download.csdn.net/detail/shuzheng5201314/9733652
- dubbo-admin-2.5.4-SNAPSHOT-jdk8 http://download.csdn.net/detail/shuzheng5201314/9733657
- æ´å¤èµæºè¯·å QQ群
å¼åæå:
- 1ãæ¬æºå®è£ Jdk7ãMysqlãRedisãZookeeperãActiveMQ并**å¯å¨ç¸å ³æå¡**ï¼ä½¿ç¨é»è®¤é ç½®é»è®¤ç«¯å£å³å¯
- 2ãå éæºä»£ç å°æ¬å°å¹¶æå¼ï¼æ¨è使ç¨IntelliJ IDEAï¼æ¬å°ç¼è¯å¹¶å®è£ å°æ¬å°mavenä»åº
ä¿®æ¹æ¬å°Host
-
127.0.0.1 ui.zhangshuzheng.cn
-
127.0.0.1 upms.zhangshuzheng.cn
-
127.0.0.1 cms.zhangshuzheng.cn
-
127.0.0.1 pay.zhangshuzheng.cn
-
127.0.0.1 ucenter.zhangshuzheng.cn
-
127.0.0.1 wechat.zhangshuzheng.cn
-
127.0.0.1 api.zhangshuzheng.cn
-
127.0.0.1 oss.zhangshuzheng.cn
-
127.0.0.1 config.zhangshuzheng.cn
-
127.0.0.1 zkserver
-
127.0.0.1 rdserver
-
127.0.0.1 dbserver
-
127.0.0.1 mqserver
ç¼è¯æµç¨
mavenç¼è¯å®è£ zheng/pom.xmlæ件å³å¯
å¯å¨é¡ºåºï¼åå°ï¼
åå¤å·¥ä½
-
æ°å»ºzhengæ°æ®åºï¼å¯¼å ¥project-datamodelæ件夹ä¸çzheng.sql
-
ä¿®æ¹ådao模åårpc-service模åçredis.propertiesãjdbc.propertiesãgenerator.propertiesæ°æ®åºè¿æ¥çé 置信æ¯ï¼å ¶ä¸master.redis.passwordãmaster.jdbc.passwordãslave.jdbc.passwordãgenerator.jdbc.passwordå¯ç å¼ä½¿ç¨äºAESå å¯ï¼è¯·ä½¿ç¨com.zheng.common.util.AESUtilå·¥å ·ç±»ä¿®æ¹è¿äºå¼
-
å¯å¨ZookeeperãRedisãActiveMQãNginxï¼é ç½®æ件åèproject-tools/nginxä¸ç*.confæ件ï¼
zheng-upms
- é¦å å¯å¨ zheng-upms-rpc-service(ç´æ¥è¿è¡srcç®å½ä¸çZhengUpmsRpcServiceApplication#mainæ¹æ³å¯å¨) => zheng-upms-server(jetty)ï¼ç¶åæéå¯å¨å¯¹åºåç³»ç»xxxçzheng-xxx-rpc-service(mainæ¹æ³) => zheng-xxx-webapp(jetty)
-
è®¿é® http://upms.zhangshuzheng.cn:1111/ï¼åç³»ç»èåå·²ç»é ç½®å°zheng-upmsæéä¸ï¼ä¸ç¨ç´æ¥è®¿é®åç³»ç»ï¼é»è®¤å¸å·å¯ç ï¼admin/123456
-
ç»å½æååï¼å¯å¨å³ä¸è§åæ¢å·²æ³¨åç³»ç»è®¿é®
zheng-cms
-
zheng-cms-adminï¼å¯å¨ActiveMQ-å¯å¨ => å¯å¨zheng-rpc-service => å¯å¨zheng-cms-admin
-
zheng-cms-webï¼å¯å¨nginx代çzheng-uiéæèµæºï¼é ç½®æ件å¯åè nginx.conf
zheng-oss
-
é¦å å¯å¨zheng-oss-webæå¡
-
å¼åé¶æ®µï¼å¦æzheng-oss-web没æå ¬ç½ååï¼æ¨è使ç¨
ngrok
å ç½ç©¿éå·¥å ·ï¼ä¸ºå¼åç¯å¢æä¾å ¬ç½ååï¼å®ç°ä¸ä¼ åè° -
å¯å¨nginx代çzheng-uiéæèµæº
å¼åæ¼ç¤ºï¼QQ群å æâzhengååéè§é¢ï¼ä»æ£åºå°å¯å¨.wmvâï¼
-
å建æ°æ®è¡¨ï¼å»ºè®®ä½¿ç¨PowerDesignerï¼
-
ç´æ¥è¿è¡å¯¹åºé¡¹ç®dao模åä¸çgenerator.main()ï¼å¯èªå¨çæå表çCRUDåè½å对åºçmodelãexampleãmapperãservice代ç
-
çæçmodelåexampleåå·²å®ç°Serializableæ¥å£ï¼æ¯æåå¸å¼
-
å·²å å«æ½è±¡ç±»BaseServiceImplï¼åªéè¦ç»§æ¿æ½è±¡ç±»å¹¶ä¼ å ¥æ³ååæ°ï¼å³å¯é»è®¤å®ç°mapperæ¥å£æææ¹æ³ï¼ç¹æ®éæ±ç´æ¥æ©å±å³å¯
-
BaseServiceImplé»è®¤å·²å®ç°åç§æ ¹æ®æ¡ä»¶å页æ¥å£
-
selectByExampleWithBLOBsForStartPage()
-
selectByExampleForStartPage()
-
selectByExampleWithBLOBsForOffsetPage()
-
selectByExampleForOffsetPage()
-
-
BaseServiceImplæ¹æ³æ ¹æ®è¯»åæä½èªå¨åæ¢ä¸»ä»æ°æ®æºï¼ç»§æ¿çæ©å±æ¥å£ï¼å¯æå¨éè¿
DynamicDataSource.setDataSource(DataSourceEnum.XXX.getName())
æå®æ°æ®æº
-
-
å¯å¨æµç¨ï¼ä¼å rcp-serviceæå¡æä¾è ï¼åå¯å¨å ¶ä»webapp
-
æ©å±æµç¨ï¼å¯æ©å±åæårpc-apiårpc-service模åï¼å¯æå¾®æå¡æåæåºæ¯æå
é¨ç½²æ¹å¼ï¼QQ群å æâzhengååéè§é¢ï¼ä»æå å°linuxæå¡å¨é¨ç½².wmvâï¼
-
warå 项ç®ï¼ä½¿ç¨tomcatçweb容å¨å¯å¨
-
rpc-serviceæå¡æä¾è jarå ï¼å°æå åçzheng-xxx-rpc-service-assembly.tar.gzæ件解åï¼ä½¿ç¨binç®å½ç管çèæ¬è¿è¡å³å¯ï¼æ¯æä¼é åæºã
æ¡æ¶è§è约å®
约å®ä¼äºé ç½®(convention over configuration)ï¼æ¤æ¡æ¶çº¦å®äºå¾å¤ç¼ç¨è§èï¼ä¸é¢ä¸ä¸å举ï¼
- serviceç±»ï¼éè¦å¨å«å`service`çå
ä¸ï¼å¹¶ä»¥`Service`ç»å°¾ï¼å¦`CmsArticleServiceImpl`
- controllerç±»ï¼éè¦å¨ä»¥`controller`ç»å°¾çå
ä¸ï¼ç±»å以Controllerç»å°¾ï¼å¦`CmsArticleController.java`ï¼å¹¶ç»§æ¿`BaseController`
- spring taskç±»ï¼éè¦å¨å«å`task`çå
ä¸ï¼å¹¶ä»¥`Task`ç»å°¾ï¼å¦`TestTask.java`
- mapper.xmlï¼éè¦å¨åå«`mapper`çå
ä¸ï¼å¹¶ä»¥`Mapper.xml`ç»å°¾ï¼å¦`CmsArticleMapper.xml`
- mapperæ¥å£ï¼éè¦å¨åå«`mapper`çå
ä¸ï¼å¹¶ä»¥`Mapper`ç»å°¾ï¼å¦`CmsArticleMapper.java`
- modelå®ä½ç±»ï¼éè¦å¨åå«`model`çå
ä¸ï¼å½åè§å为æ°æ®è¡¨è½¬é©¼å³°è§åï¼å¦`CmsArticle.java`
- springé
ç½®æ件ï¼å½åè§å为`applicationContext-*.xml`
- ç±»åï¼é¦åæ¯å¤§å驼峰è§åï¼æ¹æ³åï¼é¦åæ¯å°å驼峰è§åï¼å¸¸éï¼å
¨å¤§åï¼åéï¼é¦åæ¯å°å驼峰è§åï¼å°½éé缩å
- springmvcé
ç½®å å°å¯¹åºæ¨¡åç`springMVC-servlet.xml`æ件é
- é
ç½®æ件æ¾å°`src/main/resources`ç®å½ä¸
- éæèµæºæ件æ¾å°`src/main/webapp/resources`ç®å½ä¸
- jspæ件ï¼éè¦å¨`/WEB-INF/jsp`ç®å½ä¸
- `RequestMapping`åè¿åç©çè¯å¾è·¯å¾çurlå°½éåå
¨è·¯å¾ï¼å¦ï¼`@RequestMapping("/manage")`ã`return "/manage/index"`
- `RequestMapping`æå®method
- 模åå½å为`项ç®`-`å项ç®`-`ä¸å¡`ï¼å¦`zheng-cms-admin`
- æ°æ®è¡¨å½å为ï¼`åç³»ç»`_`表`ï¼å¦`cms_article`
- æ´å¤è§èï¼åè[[é¿éå·´å·´Javaå¼åæå] http://git.oschina.net/shuzheng/zheng/attach_files
æ¼ç¤ºå°å
æ¼ç¤ºå°åï¼ http://upms.zhangshuzheng.cn/
é¢è§å¾
æ°æ®æ¨¡å
ææå¾
å¼åè¿åº¦
åä¸å¼å
é¦å 谢谢大家æ¯æï¼å¦æä½ å¸æåä¸å¼åï¼æ¬¢è¿éè¿Githubä¸forkæ¬é¡¹ç®ï¼å¹¶Pull Requestæ¨çcommitã
常è§é®é¢
-
Eclipseä¸ï¼dubboæ¾ä¸å°dubbo.xsdæ¥éï¼ä¸å½±å使ç¨ï¼å¦æè¦è§£å³ï¼å¯åè http://blog.csdn.net/gjldwz/article/details/50555922
-
æ¥zheng-xxx.jarå æ¾ä¸å°,请æç §ææ¡£ç¼è¯é¡ºåºï¼å°æºä»£ç ç¼è¯å¹¶å®è£ å°æ¬å°mavenä»åº
-
zheng-cms-adminå¯å¨å¡ä½ï¼å 为没æå¯å¨activemq
-
zheng-upms-server访é®æ¥sessionä¸åå¨ï¼å 为没æå¯å¨redisæå¡
-
çé¢æ²¡ææ ·å¼ï¼å 为zheng-admin没æç¼è¯å®è£ å°æ¬å°ä»åº
-
linuxä¸æ§è¡rpc-serviceèæ¬æ¥âbin/bash^M åç解éå¨âï¼ä½¿ç¨sed -i 's/\r$//' filenameå é¤èæ¬ä¸\rå符
é件
zhengç¸å ³å客
ä¼ç§æç« åå客
-
RBACæ°è§£ï¼åºäºèµæºçæé管ç(Resource-Based Access Control)
-
ELK(ElasticSearch, Logstash, Kibana)æ建å®æ¶æ¥å¿åæå¹³å°
-
springMVC对ç®å对象ãSetãListãMapçæ°æ®ç»å®å常è§é®é¢.
-
å个ç·äººï¼å个æççç·äººï¼å个æååºçç·äºº
å¨çº¿å°å·¥å ·
å¨çº¿ææ¡£
许å¯è¯
Top Related Projects
spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。
:seedling::rocket:一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目~
🚀一个用来深入学习并实战 Spring Boot 的项目。
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
《Spring Boot基础教程》,2.x版本持续连载中!点击下方链接直达教程目录!
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot