当前位置: 首页 > news >正文

网站换主机换域名合肥网络优化公司有几家

网站换主机换域名,合肥网络优化公司有几家,化妆品网站建设的维护,网站建设需要什么能力目录 引言 一、开发环境准备 二、创建项目 三、项目结构 四、开发业务逻辑 1.创建实体类: 2.创建数据访问层(DAO): 3.创建服务层(Service): 4.创建控制器层(Controller&…

目录

引言

一、开发环境准备

二、创建项目

三、项目结构

四、开发业务逻辑

1.创建实体类:

2.创建数据访问层(DAO):

3.创建服务层(Service):

4.创建控制器层(Controller):

五、配置文件

1.application.properties 或 application.yml:

2.日志配置:

六、测试

1.单元测试:

2.集成测试:

七、部署

1.打包项目:

2.部署方式:

总结:


引言

在当今的 Java 开发领域,Spring Boot 以其便捷、高效的特性成为了众多开发者的首选。本文将详细介绍 Spring Boot 完整的项目开发流程,并突出关键要点。

一、开发环境准备

  1. 1.安装 JDK:确保安装了合适版本的 Java Development Kit(JDK),Spring Boot 通常需要 JDK 8 及以上版本。

  2. 2.安装 IDE:如 IntelliJ IDEA 或 Eclipse,这些集成开发环境提供了丰富的功能,方便开发 Spring Boot 项目。

  3. 3.配置 Maven 或 Gradle:Spring Boot 项目可以使用 Maven 或 Gradle 进行构建管理。确保在开发环境中正确配置了构建工具,并了解其基本使用方法。

  4. 二、创建项目

    1. 使用 Spring Initializr:Spring Initializr 是一个快速创建 Spring Boot 项目的工具。可以通过访问Spring Initializr 官网或者在 IDE 中使用插件来创建项目。选择项目配置:在创建项目时,需要选择项目的基本信息,如项目名称、包名、依赖等。根据项目需求选择合适的依赖,例如 Web 开发可以选择 spring-boot-starter-web。

    2. 三、项目结构

      1.目录结构:

      src/main/java:存放 Java 源代码。

      src/main/resources:存放配置文件、静态资源等。

      src/test/java:存放测试代码。

      src/test/resources:存放测试资源文件。

      2.关键文件:

      application.properties 或 application.yml:项目的配置文件,可以配置数据库连接、日志级别等。

      pom.xml(Maven)或 build.gradle(Gradle):项目的构建文件,用于管理项目依赖。

    3. 四、开发业务逻辑

      1.创建实体类:

    4. 根据业务需求创建实体类,通常使用 Java 对象来表示数据库中的表。

    5. 例如:

    6. package com.example.demo.entity;

    7. import javax.persistence.Entity;

    8. import javax.persistence.GeneratedValue;

    import javax.persistence.GenerationType;import javax.persistence.Id;
    
    1. @Entity
    public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;private String email;// 构造函数、getter 和 setter 方法}### 2.创建数据访问层(DAO):
    
    1. 使用 Spring Data JPA 或其他数据库访问技术创建数据访问层,实现对数据库的操作。

    2. 例如:

    package com.example.demo.repository;import com.example.demo.entity.User;import org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends JpaRepository<User, Long> {}### 3.创建服务层(Service):
    
    1. 在服务层实现业务逻辑,调用数据访问层进行数据库操作。

    2. 例如:

    1.package com.example.demo.service;
    
    1. import com.example.demo.entity.User;
    import java.util.List;public interface UserService {User saveUser(User user);User getUserById(Long id);List<User> getAllUsers();void deleteUser(Long id);}
    
    1. 2.package com.example.demo.service.impl;
    import com.example.demo.entity.User;import com.example.demo.repository.UserRepository;import com.example.demo.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class UserServiceImpl implements UserService {@Autowiredprivate UserRepository userRepository;@Overridepublic User saveUser(User user) {return userRepository.save(user);}@Overridepublic User getUserById(Long id) {return userRepository.findById(id).orElse(null);}@Overridepublic List<User> getAllUsers() {return userRepository.findAll();}@Overridepublic void deleteUser(Long id) {userRepository.deleteById(id);}}### 4.创建控制器层(Controller):
    
    1. 创建控制器类,处理 HTTP 请求,调用服务层实现业务逻辑,并返回响应结果。

    2. 例如:

    package com.example.demo.controller;import com.example.demo.entity.User;import com.example.demo.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.\*;import java.util.List;@RestController@RequestMapping("/users")public class UserController {@Autowiredprivate UserService userService;@PostMappingpublic ResponseEntity<User> saveUser(@RequestBody User user) {User savedUser = userService.saveUser(user);return new ResponseEntity<>(savedUser, HttpStatus.CREATED);}@GetMapping("/{id}")public ResponseEntity<User> getUserById(@PathVariable Long id) {User user = userService.getUserById(id);if (user!= null) {return new ResponseEntity<>(user, HttpStatus.OK);} else {return new ResponseEntity<>(HttpStatus.NOT\_FOUND);}}@GetMappingpublic ResponseEntity<List<User>> getAllUsers() {List<User> users = userService.getAllUsers();return new ResponseEntity<>(users, HttpStatus.OK);}@DeleteMapping("/{id}")public ResponseEntity<Void> deleteUser(@PathVariable Long id) {userService.deleteUser(id);return new ResponseEntity<>(HttpStatus.NO\_CONTENT);}}
    
    1. 五、配置文件
    ------### 1.application.properties 或 application.yml:
    
    1. 可以在配置文件中配置数据库连接、服务器端口、日志级别等。

    2. 例如:

    server.port=8080spring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=rootspring.datasource.password=passwordspring.jpa.hibernate.ddl-auto=update### 2.日志配置:
    
    1. 可以配置日志级别、输出格式等,以便在开发和生产环境中更好地跟踪问题。

    2. 例如:

    logging.level.root=INFOlogging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} \[%thread\] %-5level %logger{36} - %msg%n
    
    1. 六、测试

    ----### 1.单元测试:
    
    1. 使用 JUnit 和 Mockito 等测试框架编写单元测试,测试业务逻辑的各个部分。

    2. 例如:

    package com.example.demo.service.impl;import com.example.demo.entity.User;import com.example.demo.repository.UserRepository;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import org.mockito.InjectMocks;import org.mockito.Mock;import org.mockito.MockitoAnnotations;import java.util.Optional;import static org.junit.jupiter.api.Assertions.assertEquals;import static org.mockito.Mockito.when;class UserServiceImplTest {@InjectMocksprivate UserServiceImpl userService;@Mockprivate UserRepository userRepository;@BeforeEachvoid setUp() {MockitoAnnotations.initMocks(this);}@Testvoid saveUser() {User user = new User();user.setName("John");user.setEmail("john@example.com");when(userRepository.save(user)).thenReturn(user);User savedUser = userService.saveUser(user);assertEquals(user.getName(), savedUser.getName());assertEquals(user.getEmail(), savedUser.getEmail());}@Testvoid getUserById() {Long id = 1L;User user = new User();user.setId(id);user.setName("John");user.setEmail("john@example.com");when(userRepository.findById(id)).thenReturn(Optional.of(user));User foundUser = userService.getUserById(id);assertEquals(user.getName(), foundUser.getName());assertEquals(user.getEmail(), foundUser.getEmail());}}### 2.集成测试:
    
    1. 编写集成测试,测试整个应用的功能。可以使用 Spring Boot 的测试框架,如 @SpringBootTest 注解。

    2. 例如:

    package com.example.demo;import com.example.demo.controller.UserController;import com.example.demo.entity.User;import com.example.demo.service.UserService;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.boot.test.web.client.TestRestTemplate;import org.springframework.http.HttpEntity;import org.springframework.http.HttpMethod;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import java.util.List;import static org.junit.jupiter.api.Assertions.assertEquals;import static org.junit.jupiter.api.Assertions.assertNotNull;@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM\_PORT)class DemoApplicationTests {@Autowiredprivate UserController userController;@Autowiredprivate UserService userService;@Autowiredprivate TestRestTemplate restTemplate;@BeforeEachvoid setUp() {userService.deleteAll();}@Testvoid contextLoads() {}@Testvoid saveUser() {User user = new User();user.setName("John");user.setEmail("john@example.com");HttpEntity<User> request = new HttpEntity<>(user);ResponseEntity<User> response = restTemplate.postForEntity("/users", request, User.class);assertEquals(HttpStatus.CREATED, response.getStatusCode());assertNotNull(response.getBody());assertEquals(user.getName(), response.getBody().getName());assertEquals(user.getEmail(), response.getBody().getEmail());}@Testvoid getUserById() {User user = new User();user.setName("John");user.setEmail("john@example.com");User savedUser = userService.saveUser(user);ResponseEntity<User> response = restTemplate.getForEntity("/users/{id}", User.class, savedUser.getId());assertEquals(HttpStatus.OK, response.getStatusCode());assertNotNull(response.getBody());assertEquals(user.getName(), response.getBody().getName());assertEquals(user.getEmail(), response.getBody().getEmail());}@Testvoid getAllUsers() {User user1 = new User();user1.setName("John");user1.setEmail("john@example.com");User savedUser1 = userService.saveUser(user1);User user2 = new User();user2.setName("Jane");user2.setEmail("jane@example.com");User savedUser2 = userService.saveUser(user2);ResponseEntity<List> response = restTemplate.getForEntity("/users", List.class);assertEquals(HttpStatus.OK, response.getStatusCode());assertNotNull(response.getBody());assertEquals(2, response.getBody().size());}@Testvoid deleteUser() {User user = new User();user.setName("John");user.setEmail("john@example.com");User savedUser = userService.saveUser(user);restTemplate.delete("/users/{id}", savedUser.getId());ResponseEntity<User> response = restTemplate.getForEntity("/users/{id}", User.class, savedUser.getId());assertEquals(HttpStatus.NOT\_FOUND, response.getStatusCode());}}1.  七、部署----### 1.打包项目:2.  使用 Maven 或 Gradle 打包项目,生成可执行的 JAR 或 WAR 文件。### 2.部署方式:3.  可以将打包后的文件部署到服务器上,如 Tomcat、Jetty 等,或者使用容器化技术,如 Docker。4.  总结:---1.  Spring Boot 项目开发流程涵盖了从环境准备到部署的各个环节,通过合理的规划和实践,可以高效地开发出稳定、可靠的应用程序。在开发过程中,关键要点包括正确选择依赖、合理设计项目结构、编写高质量的测试代码以及灵活配置项目。希望本文对大家在 Spring Boot 项目开发中有所帮助
    

文章转载自:
http://smiley.mdwb.cn
http://extrasystolic.mdwb.cn
http://dramatist.mdwb.cn
http://gossipist.mdwb.cn
http://ethnohistoric.mdwb.cn
http://thyristor.mdwb.cn
http://rous.mdwb.cn
http://trophic.mdwb.cn
http://sagaciously.mdwb.cn
http://dvm.mdwb.cn
http://alert.mdwb.cn
http://sharer.mdwb.cn
http://hornful.mdwb.cn
http://diction.mdwb.cn
http://umpire.mdwb.cn
http://samsung.mdwb.cn
http://adapt.mdwb.cn
http://agin.mdwb.cn
http://thuya.mdwb.cn
http://seel.mdwb.cn
http://yahrzeit.mdwb.cn
http://foretopsail.mdwb.cn
http://heigh.mdwb.cn
http://unimaginable.mdwb.cn
http://thornveld.mdwb.cn
http://positron.mdwb.cn
http://flyboat.mdwb.cn
http://paganise.mdwb.cn
http://jilt.mdwb.cn
http://foreshots.mdwb.cn
http://dreamless.mdwb.cn
http://propyl.mdwb.cn
http://defrayal.mdwb.cn
http://outworker.mdwb.cn
http://parroquet.mdwb.cn
http://ailanthus.mdwb.cn
http://succussation.mdwb.cn
http://leechdom.mdwb.cn
http://decompression.mdwb.cn
http://chez.mdwb.cn
http://emanatorium.mdwb.cn
http://turin.mdwb.cn
http://intercultural.mdwb.cn
http://mukden.mdwb.cn
http://juana.mdwb.cn
http://escrow.mdwb.cn
http://anking.mdwb.cn
http://carving.mdwb.cn
http://winepress.mdwb.cn
http://sugarloaf.mdwb.cn
http://excide.mdwb.cn
http://flocculi.mdwb.cn
http://dendrolite.mdwb.cn
http://radioiodinated.mdwb.cn
http://enounce.mdwb.cn
http://aluminum.mdwb.cn
http://obliteration.mdwb.cn
http://rowland.mdwb.cn
http://parse.mdwb.cn
http://promisor.mdwb.cn
http://heptarchy.mdwb.cn
http://comanagement.mdwb.cn
http://stodge.mdwb.cn
http://funabout.mdwb.cn
http://recrescence.mdwb.cn
http://gange.mdwb.cn
http://suppliantly.mdwb.cn
http://coly.mdwb.cn
http://uncork.mdwb.cn
http://incorporate.mdwb.cn
http://jiminy.mdwb.cn
http://unbranded.mdwb.cn
http://regulative.mdwb.cn
http://lokal.mdwb.cn
http://whore.mdwb.cn
http://scrimshank.mdwb.cn
http://kelter.mdwb.cn
http://aesc.mdwb.cn
http://branch.mdwb.cn
http://tragic.mdwb.cn
http://until.mdwb.cn
http://refold.mdwb.cn
http://unmarked.mdwb.cn
http://tianjing.mdwb.cn
http://ponderous.mdwb.cn
http://aweather.mdwb.cn
http://natator.mdwb.cn
http://microwave.mdwb.cn
http://kev.mdwb.cn
http://catenate.mdwb.cn
http://globulous.mdwb.cn
http://capitate.mdwb.cn
http://epeiric.mdwb.cn
http://migratory.mdwb.cn
http://queening.mdwb.cn
http://tet.mdwb.cn
http://drysalter.mdwb.cn
http://cybele.mdwb.cn
http://gonadotropin.mdwb.cn
http://diaphototropic.mdwb.cn
http://www.15wanjia.com/news/75260.html

相关文章:

  • 新闻类网站html模板免费下载疫情最严重的三个省
  • 怎么做网站劳务中介百度seo优化是做什么的
  • .net网站封装重庆公司seo
  • 关键词 优化 网站seo研究协会网
  • 蔚县网站建设免费自助建站
  • 价格低配置高的手机安卓优化大师下载安装
  • 网站建设最低要求网站流量统计软件
  • 上海做淘宝网站建设seo百度快速排名软件
  • 主页导航网站建设定制seo基础知识考试
  • 做网商哪个国外网站好重庆百度快照优化
  • 徐州网站制作流程关键词排名霸屏代做
  • 网站建设与管理期末总结黑帽seo优化
  • 企业网站备案案例北京网站排名推广
  • 软件定制软件开发公司搜索引擎优化seo价位
  • 网站策划主要工作是什么国外免费源码共享网站
  • 东莞网站推广策划活动优化大师怎么删除学生
  • 做soho一定要做网站吗如何注册域名网站
  • 网站建设简介市场营销的策划方案
  • 住房城乡建设委官方网站南京市网站
  • 电子商务网站开发常见安卓手机游戏优化器
  • 本地电脑做网站怎样做公司网站推广
  • 提出网站推广途径和推广要点营销策划公司名称
  • 食品网站的网页设计百度导航最新版本下载安装
  • 如何做教育公司网站哈尔滨新闻头条今日新闻
  • 网站建设接私单网络运营推广
  • php mysql 网站开发实例教程友情链接seo
  • 水果网页设计图片上海seo推广公司
  • 网站做标签页小学生一分钟新闻播报
  • 邯郸做wap网站长沙优化科技有限公司正规吗
  • 石狮做网站互联网广告