鲜花网站建设项目概述wordpress评论改成微博

张小明 2026/1/8 8:55:00
鲜花网站建设项目概述,wordpress评论改成微博,网站顶部地图代码怎么做,国内做网站哪家好约定优于配置 概念#xff1a;约定优于配置#xff0c;又称为按约定编程#xff0c;是一种软件设计规范。 例如你有一个实体类为User#xff0c;数据中的表名也是user#xff0c;这样就无需做额外的配置#xff0c;只有在偏离这种约定的时候才需要做额外的配置#xf…约定优于配置概念约定优于配置又称为按约定编程是一种软件设计规范。例如你有一个实体类为User数据中的表名也是user这样就无需做额外的配置只有在偏离这种约定的时候才需要做额外的配置数据库为t_user时候要额外写关于整个名字的配置。简单来说就是假如你的配置和约定一致那么就不需要做额外的任何配置约定不符合期待时才需要对约定进行替换配置。好处大大减少了配置项。Spring Boot 概念官方网站https://spring.io/projects/spring-boot主要特性创建独立的 Spring 应用程序直接嵌入 Tomcat、Jetty 或 Undertow无需部署 WAR 文件提供预设的“初始”依赖项以简化构建配置。尽可能自动配置 Spring 和第三方库。提供可用于生产环境的功能例如指标、健康检查和外部配置。完全无需生成代码也无需 XML 配置。SpringBoot案例实现创建SpringBoot项目在项目的的文件下创建contoller包RestController //组合式注解等价于Controller ResponseBody public class DemoController { RequestMapping(/hello) public String demo() { return Hello World!; } }运行主类访问http://localhost:8080/hello至此SpringBoot项目构建完成中文乱码问题解决方法1RequestMapping(value /hello,produces application/json;charset utf-8)解决方法2server: port: 8080 #设置响应为utf-8 servlet: encoding: force-response: true疑问starter是什么我们应该如何取使用这些start为什么包扫描只会扫描核心启动类所在的包在springBoot启动的过程中是如何完成自动装配的内嵌Tomcat是如何被创建及启动的使用了web场景对应的starterspringmvc是如何自动装配热部署实现演示在开发项目的过程中当项目修改了某些代码后需要本地验证需要重写启动本地服务进行验证我们可以使用spring-boot-devtools可以很好的解决本地验证缓慢的问题。首先我们需要引入热部署maven依赖!-- 引入热部署依赖 -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-devtools/artifactId /dependency还需要再idea里面开启支持热部署设置然后在idea页面下使用CtrlShiftAlt/勾选以下选择原理分析当我们在编译器上启动项目改动了相关的代码然后编译器自动触发编译替换历史的.class文件其会自动重启Spring-boot项目。排除资源依赖在某些资源改动后不需要触发重启启动我们可以用以下设置spring: devtools: restart: enabled: static/**, templates/**全局配置文件SpringBoot使用一个application.properties或者application.yml的文件作为全局配置文件。顺序如下SpringBoot会从这四个位置去加载全部的配置文件如果高优先级配置文件属性与低有限级配置文件不冲突的属性则会共同存在-互补配置。如果在同一个目录下有application.properties也有application.yml。application.properties会先执行。如果自定义配置名称java -jar myproject.jar --spring.config.namemyproject如果自定义配置文件位置java -jar run-0.0.1-SNAPSHOT.jar --spring.config.locationD:/application.propertiesapplication.properties配置文件首先我们创建一个Pet类Data public class Pet { private String type; private String name; }然后在创建一个Person类Data Component ConfigurationProperties(prefix person) //将配置文件中的person开头的属性映射到该类中 public class Person { private int id; private String name; private List hobby; private String[] family; private Map map; private Pet pet; }配置文件中添加person.id1 person.namexiaozhangzhang person.hobby吃饭睡觉打豆豆 person.familysister,mather,brother person.map.k1v1 person.map.k2v2 person.pet.typedag person.pet.name小狗狗Component是将当前注入属性值的Person类对象作为Bean组件放到Spring容器中只有这样才可以被ConfigurationProperties注解给赋值。在编写application.properties配置文件时由于要配置Person对象属性是我们自定义的SpringBoot无法自动识别没有书写提示可以添加maven依赖处理dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-configuration-processor/artifactId optionaltrue/optional /dependencyapplication.ymlperson: id: 1 name: Jon hobby: [Cooking, Coding] family: [Mom, Dad] map: {key1: value1, key2: value2} pet: {type: Dog, name: Bobby}属性注入属性注入常见注解Configuration声明一个类作为配置类。Bean声明在方法上将方法的返回值加入Bean容器。Value属性注入ConfigurationPropertiesprefixjdbc批量属性注入。PropertySourceclasspath:/jdbc.properties指定外部属性文件。在类上添加。Value属性注入首先我们需要添加数据库连接依赖dependency groupIdcom.github.drtrang/groupId artifactIddruid-spring-boot2-starter/artifactId version1.1.10/version /dependency在application.yml中添加依赖jdbc: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3307/springboot username: root password: 123456Configuration public class JdbcConfig { Value(${jdbc.url}) private String jdbcUrl; Value(${jdbc.username}) private String jdbcUsername; Value(${jdbc.password}) private String jdbcPassword; Value(${jdbc.driverClassName}) private String jdbcDriverClassName; Bean public DataSource dataSource(){ DruidDataSource dataSource new DruidDataSource(); dataSource.setUrl(jdbcUrl); dataSource.setUsername(jdbcUsername); dataSource.setPassword(jdbcPassword); dataSource.setDriverClassName(jdbcDriverClassName); return dataSource; } }ConfigurationProperties批量注入Configuration ConfigurationProperties(prefix jdbc) public class JdbcConfig { private String jdbcUrl; private String jdbcUsername; private String jdbcPassword; private String jdbcDriverClassName; public void setJdbcDriverClassName(String jdbcDriverClassName) { this.jdbcDriverClassName jdbcDriverClassName; } public void setJdbcPassword(String jdbcPassword) { this.jdbcPassword jdbcPassword; } public void setJdbcUsername(String jdbcUsername) { this.jdbcUsername jdbcUsername; } public void setJdbcUrl(String jdbcUrl) { this.jdbcUrl jdbcUrl; } }此外还要添加EnableConfigurationProperties(JdbcConfig.class),表示支持ConfigurationProperties。第三方配置除了ConfigurationProperties用于注释类之外还可以在公用Bean方法上使用它当要将属性绑定到控制之外的第三方组件。Data public class AnotherComponent { private boolean enable; private InetAddress inetAddress; }Configuration public class MyService { ConfigurationProperties(another) Bean public AnotherComponent anotherComponent() { return new AnotherComponent(); } }another: enable: true inet-address: 127.0.0.1测试类Test public void test2() { System.out.println(anotherComponent); }松散绑定Spring Boot 中ConfigurationProperties绑定环境属性时环境属性名与 Bean 属性名不需要完全匹配支持多种命名格式的自动映射。Data Component ConfigurationProperties(acme.my-person.person) public class OwnerProperties { private String firstName; }acme: my-person: person: first-name: 泰森属性文件中配置说明acme.my-project.person.first-name羊肉串模式kebab-case推荐使用acme.myProject.person.firstName标准驼峰模式acme.my_project.person.first_name下划线模式ACME_MYPROJECT_PERSON_FIRSTNAME大写下划线系统环境变量场景推荐SpringBoot日志框架日志框架介绍通常情况下我们使用日志是由一个抽象层实现层的组合来搭建的。日志抽象层日志实现层JCLJakarta Commons Logging、SLF4JSimple Logging Facade for Java、jboss-loggingjuljava.util.logging、log4j、logback、log4j2pring 框架默认使用JCL作为日志输出。Spring Boot默认选择SLF4J 结合 LogBack作为日志方案。SLF4J的使用官方文档https://www.slf4j.org/manual.htmlimport org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { logger.info(Hello World); } }SpringBoot的日志关系首先我们需要排除其他日志的框架然后引入统一框架替换包dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-logging/artifactId version2.4.0.RELEASE/version /dependency测试输出Slf4j RestController //组合式注解等价于Controller ResponseBody public class DemoController { RequestMapping(value /hello,produces application/json;charset utf-8) public String demo() { log.info(DemoController.demo()); return Hello World!,你好呀; } }自定义日志输出我们需要在配置文件中添加日志输出的格式logging: level: com: guslegend: debug pattern: console: %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n file: %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n file: path: springboot.log测试结果2025-12-10 16:15:19.976 [main] INFO com.guslegend.SpringBootDemoApplication - Starting SpringBootDemoApplication using Java 11 on School with PID 42084 (C:\Users\Administrator\Desktop\arcfor2025\SpringBootDemo\target\classes started by Administrator in C:\Users\Administrator\Desktop\Arcfor2025) 2025-12-10 16:15:19.979 [main] DEBUG com.guslegend.SpringBootDemoApplication - Running with Spring Boot v2.4.0, Spring v5.3.1 2025-12-10 16:15:19.980 [main] INFO com.guslegend.SpringBootDemoApplication - No active profile set, falling back to default profiles: default 2025-12-10 16:15:20.418 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) 2025-12-10 16:15:20.423 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-10 16:15:20.423 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.39] 2025-12-10 16:15:20.455 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-10 16:15:20.455 [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 457 ms 2025-12-10 16:15:20.555 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService applicationTaskExecutor 2025-12-10 16:15:20.672 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path 2025-12-10 16:15:20.679 [main] INFO com.guslegend.SpringBootDemoApplication - Started SpringBootDemoApplication in 0.938 seconds (JVM running for 1.368) 2025-12-10 16:15:26.619 [http-nio-8080-exec-1] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet dispatcherServlet 2025-12-10 16:15:26.619 [http-nio-8080-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet dispatcherServlet 2025-12-10 16:15:26.620 [http-nio-8080-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms 2025-12-10 16:15:26.628 [http-nio-8080-exec-1] INFO com.guslegend.controller.DemoController - DemoController.demo()
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

手机网站素材网销售产品单页面网站模板

嵌入式Web服务器极速部署:STM32Cube与Mongoose实战全解析 【免费下载链接】mongoose Embedded Web Server 项目地址: https://gitcode.com/gh_mirrors/mon/mongoose 还在为嵌入式设备的远程管理发愁吗?面对复杂的网络协议栈和有限的内存资源&…

张小明 2026/1/4 15:22:11 网站建设

超全的开源建站系统大全天津网站大全

HTML转Word文档终极指南:浏览器端零依赖解决方案 【免费下载链接】html-docx-js Converts HTML documents to DOCX in the browser 项目地址: https://gitcode.com/gh_mirrors/ht/html-docx-js 在现代Web开发中,将HTML内容转换为Word文档是一个常…

张小明 2026/1/4 19:35:41 网站建设

淘宝客网站 备案dw网站制作的源代码

大规模微服务架构下Nacos配置中心的高可用部署与性能调优终极指南 【免费下载链接】apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo Nacos配置中心作为阿里巴巴开源的动态服务发现、配置管理和服务管理平台,在大规模微服务架构中承担着核心枢纽…

张小明 2026/1/4 19:35:39 网站建设

小城镇建设有关网站WordPress版本更新时间

Dify平台性能瓶颈分析:当前版本需注意的几个关键点 在企业加速拥抱大模型的今天,如何快速构建稳定、可维护、能落地的AI应用,已经成为技术团队的核心命题。直接基于原始LLM开发系统,虽然灵活,但面临提示工程复杂、上下…

张小明 2026/1/6 2:43:11 网站建设

发软文提高网站权重门户网站建设公开情况自查

美团LongCat-Video模型重磅开源:一文读懂多模态视频生成的技术突破与产业价值 【免费下载链接】LongCat-Video 项目地址: https://ai.gitcode.com/hf_mirrors/meituan-longcat/LongCat-Video 在人工智能领域,构建能够精准理解并模拟现实世界动态…

张小明 2026/1/6 2:08:34 网站建设

wordpress 做大型网站吗免费书画网站模板

终极FDS火灾模拟指南:从入门到精通的完整解决方案 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds Fire Dynamics Simulator (FDS) 是一款专业的火灾动力学模拟软件,采用大涡模拟技术精确计算火灾…

张小明 2026/1/5 20:06:40 网站建设