您的位置:首页 > 房产 > 建筑 > 企业为什么要并购_企业网是什么_广州品牌营销服务_微信营销软件排行榜

企业为什么要并购_企业网是什么_广州品牌营销服务_微信营销软件排行榜

2024/10/5 22:28:36 来源:https://blog.csdn.net/Pre_W/article/details/142236615  浏览:    关键词:企业为什么要并购_企业网是什么_广州品牌营销服务_微信营销软件排行榜
企业为什么要并购_企业网是什么_广州品牌营销服务_微信营销软件排行榜

1. 控制器开发

(1) JSON的支持

Spring Boot默认支持JSON格式的数据交换,主要通过以下方式实现:

  • 依赖spring-boot-starter-web 依赖包已经包括了 Jackson,用于将Java对象序列化为JSON,以及将JSON反序列化为Java对象
  • 注解:使用 @RequestBody 注解将请求体中的JSON数据转换为Java对象,使用 @ResponseBody 注解将Java对象转换为JSON响应
  • 配置:可以通过 application.propertiesapplication.yml 文件配置JSON序列化和反序列化的细节,如日期格式、字段忽略等
@RestController
public class SampleController {@GetMapping("/user")public User getUser() {return new User("张三");}@PostMapping("/user")public User postUser(@RequestBody User user) {return user;}
}

(2) RESTful的支持

Spring Boot支持RESTful API的开发,可以使用以下注解来实现:

  • @RestController:用于定义RESTful控制器,结合@RequestMapping@GetMapping@PostMapping等注解处理HTTP请求
  • @PathVariable:用于提取URL路径中的参数
  • @RequestParam:用于提取请求参数
  • @RequestBody:用于接收请求体中的数据
@RestController
@RequestMapping("/api")
public class ApiController {@GetMapping("/users/{id}")public User getUserById(@PathVariable("id") Long id) {}@PostMapping("/users")public User createUser(@RequestBody User user) {}
}

(3) Web测试的支持

Spring Boot提供了强大的测试支持,主要通过以下方式:

  • @SpringBootTest:用于启动整个Spring应用程序上下文,用于集成测试
  • @WebMvcTest:用于测试Spring MVC控制器,加载Spring MVC相关组件而不启动整个应用上下文
  • MockMvc:用于模拟HTTP请求和响应,进行控制器层的测试
@SpringBootTest
public class UserControllerTest {@Autowiredprivate MockMvc mockMvc;@Testpublic void testGetUser() throws Exception {mockMvc.perform(get("/users/1")).andExpect(status().isOk()).andExpect(jsonPath("$.name").value("张三"));}
}
2. 视图开发

(1) SpringBoot整合JSP

Spring Boot支持JSP视图模板,但需要一些配置:

  • 依赖:添加 spring-boot-starter-tomcat 依赖(使用provided范围)和 spring-boot-starter-web
  • 配置:在 application.propertiesapplication.yml 中配置视图解析器,指定JSP文件的位置
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

(2) 静态资源引入

Spring Boot默认支持静态资源的引入,资源文件可以放在以下目录中:

  • src/main/resources/static
  • src/main/resources/resources
  • src/main/resources/META-INF/resources

访问静态资源时,可以直接通过URL路径访问。

(3) 支持热部署

Spring Boot支持热部署,可以通过以下方式实现:

  • Spring Boot DevTools:一个开发工具,可以通过 spring-boot-devtools 依赖实现自动重启和热部署功能
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional>
</dependency>
3. 过滤器和拦截器

(1) 自定义过滤器

自定义过滤器用于在请求处理之前或之后执行一些操作,例如日志记录、请求检查等:

  • 实现:实现 javax.servlet.Filter 接口,重写 doFilter 方法
  • 注册:通过 @Component 注解自动注册,或在 WebMvcConfigurer 中进行注册
@Component
public class CustomFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {chain.doFilter(request, response);}
}

(2) 自定义拦截器

自定义拦截器用于在请求处理前后执行操作,例如权限验证:

  • 实现:实现 HandlerInterceptor 接口,重写 preHandlepostHandleafterCompletion 方法
  • 注册:通过 WebMvcConfigureraddInterceptors 方法注册
@Component
public class CustomInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return true;}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new CustomInterceptor());}
}
4. 打包部署

(1) 多环境配置

Spring Boot支持不同的环境配置,可以通过以下方式实现:

  • 配置文件:使用 application-{profile}.propertiesapplication-{profile}.yml 来定义不同环境的配置
  • 激活配置:通过 spring.profiles.active 属性激活指定的环境配置
# application-dev.properties
spring.datasource.url=jdbc:mysql://localhost:3306/devdb# application-prod.properties
spring.datasource.url=jdbc:mysql://localhost:3306/proddb
# application.properties
spring.profiles.active=dev

(2) 服务器配置

Spring Boot应用可以打包成独立的JAR或WAR文件:

  • JAR包:适合嵌入式服务器的应用,通常使用 spring-boot-maven-plugin 插件进行打包
  • WAR包:适合传统的Web服务器部署,需继承 SpringBootServletInitializer 并重写 configure 方法

可以直接在pom.xml中进行配置

<<!-- 任选其一 -->
<packaging>jar</packaging>
<packaging>war</packaging>

(3) 项目打包

项目打包可通过以下步骤完成:

  • Maven/Gradle打包:使用Maven或Gradle进行项目打包
  • 打包命令:使用 mvn clean package./gradlew build 命令生成JAR或WAR文件
mvn clean package

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com