一、Spring Boot入门示例
1. 创建一个Maven工程
Group Id设为com.tuozixuan,ArtifactId设为springboot,Package设为com.tuozixuan.springboot
2. 在Maven工程的pom.xml文件中添加如下配置
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.3.RELEASE</version> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
3. 在com.tuozixuan.springboot包下创建一个Java类
@SpringBootApplication @RestController public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @RequestMapping("/") public String index() { return "index"; } }
4. 运行Application类,然后访问http://localhost:8080
5. 总结
spring-boot-starter:这是Spring Boot的核心启动器,包含自动配置、日志和YAML
spring-boot-starter-web:支持Web开发,包括Tomcat和Spring Web MVC
@SpringBootApplication:集@Configuration、@EnableAutoConfiguration、@ComponentScan三个注解功能于一身便以大家使用的注解
@RestController:相当于@Controller、@ResponseBody两个注解合在一起的作用
二、Spring Boot常用的启动器及其作用
spring-boot-starter:这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。
spring-boot-starter-actuator :帮助监控和管理应用。
spring-boot-starter-amqp :spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。
spring-boot-starter-aop:支持面向方面的编程即AOP,包括spring-aop和AspectJ。
spring-boot-starter-artemis:通过Apache Artemis支持JMS的API(Java Message Service API)。
spring-boot-starter-batch:支持Spring Batch,包括HSQLDB数据库。
spring-boot-starter-cache:支持Spring的Cache抽象。
spring-boot-starter-cloud-connectors:支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。
spring-boot-starter-data-elasticsearch:支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。
spring-boot-starter-data-gemfire:支持GemFire分布式数据存储,包括spring-data-gemfire。
spring-boot-starter-data-jpa:支持JPA(Java Persistence API),包括spring-data-jpa、spring-orm、hibernate。
spring-boot-starter-data-MongoDB:支持MongoDB数据,包括spring-data-mongodb。
spring-boot-starter-data-rest:通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。
spring-boot-starter-data-solr:支持Apache Solr搜索平台,包括spring-data-solr。
spring-boot-starter-freemarker:支持FreeMarker模板引擎。
spring-boot-starter-groovy-templates:支持Groovy模板引擎。
spring-boot-starter-hateoas:通过spring-hateoas支持基于HATEOAS的RESTful Web服务。
spring-boot-starter-hornetq:通过HornetQ支持JMS。
spring-boot-starter-integration:支持通用的spring-integration模块。
spring-boot-starter-jdbc:支持JDBC数据库。
spring-boot-starter-jersey:支持Jersey RESTful Web服务框架。
spring-boot-starter-jta-atomikos:通过Atomikos支持JTA分布式事务处理。
spring-boot-starter-jta-bitronix:通过Bitronix支持JTA分布式事务处理。
spring-boot-starter-mail:支持javax.mail模块。
spring-boot-starter-mobile:支持spring-mobile。
spring-boot-starter-mustache:支持Mustache模板引擎。
spring-boot-starter-Redis:支持Redis键值存储数据库,包括spring-redis。
spring-boot-starter-security:支持spring-security。
spring-boot-starter-social-facebook:支持spring-social-facebook
spring-boot-starter-social-linkedin:支持spring-social-linkedin
spring-boot-starter-social-twitter:支持pring-social-twitter
spring-boot-starter-test:支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。
spring-boot-starter-thymeleaf:支持Thymeleaf模板引擎,包括与Spring的集成。
spring-boot-starter-velocity:支持Velocity模板引擎。
spring-boot-starter-web:支持全栈式Web开发,包括Tomcat和spring-webmvc。
spring-boot-starter-websocket:支持WebSocket开发。
spring-boot-starter-ws:支持Spring Web Services。
spring-boot-starter-remote-shell:增加了远程ssh shell的支持。
spring-boot-starter-jetty:引入了Jetty HTTP引擎(用于替换Tomcat)。
spring-boot-starter-log4j:支持Log4J日志框架。
spring-boot-starter-logging:引入了Spring Boot默认的日志框架Logback。
spring-boot-starter-tomcat:引入了Spring Boot默认的HTTP引擎Tomcat。
spring-boot-starter-undertow:引入了Undertow HTTP引擎(用于替换Tomcat)。
三、Spring Boot工程操作数据库
1. 在pom.xml文件中对JDBC和MYSQL的依赖配置
<!-- JDBC支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- MYSQL支持 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
2. 在resources目录下创建application.properties配置文件,并添加数据库配置信息
#datasource config
spring.datasource.url=jdbc:mysql://localhost:3306/coredb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3. 编写访问数据的JAVA类UserDao
@Component public class UserDao { @Autowired private JdbcTemplate jdbcTemplate; public void getUser() { String sql = "select * from ts_user where userName='tuozixuan'"; Map<String, Object> userMap = jdbcTemplate.queryForMap(sql); System.out.println("userName:" + userMap.get("userName")); } }
4. 把UserDao注入到其他地方就可以使用了
@Autowired
private UserDao userDao;
四、日志处理
1. Spring Boot日志默认使用Commons Logging,并为Java Util Logging、Log4J2和Logback提供了默认配置。
2. 日志级别
默认情况下,日志输出级别为INFO
日志级别为TRACE时,TRACE、DEBUG、INFO、WARN、ERROR、FATAL的日志信息会输出
日志级别为DEBUG时,DEBUG、INFO、WARN、ERROR、FATAL的日志信息会输出
日志级别为INFO时,INFO、WARN、ERROR、FATAL的日志信息会输出
日志级别为WARN时,WARN、ERROR、FATAL的日志信息会输出
日志级别设为FATAL时,ERROR和FATAL的日志信息会输出
日志级别设为OFF时,关闭所有级别的日志信息输出
可通过在application.properties中添加logging.level.root配置来自定义日志级别,如:
#可配置项:TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF
logging.level.root=DEBUG
3. 代码中日志信息的输出
private Log log = LogFactory.getLog(Application.class);
log.trace("----------trace----------");
log.debug("----------debug----------");
log.info("----------info----------");
log.warn("----------warn----------");
log.error("----------error----------");
log.fatal("----------fatal----------");
4. 日志信息输出到文件
默认情况下Spring Boot仅在控制台输出日志信息。
如果要将日志信息输出到文件,可以通过在application.properties中添加logging.file或logging.path配置,如:
logging.file=F:/springboot.log 或 logging.path=F:/
logging.file配置可以把日志信息输出到自定义的日志文件中,日志文件会在10M大小的时候截断,产生新的日志文件
logging.path配置可以把日志信息默认输出到spring.log文件中,日志文件会在10M大小的时候截断,产生新的日志文件
5. 使用log4j日志
5.1 在pom.xml文件中加入log4j依赖
在spring-boot-starter中排除对spring-boot-starter-logging的依赖,并加入log4j的依赖
<!-- 排除对spring-boot-starter-logging的依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- 加入log4j的依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> </dependency>5.2 在resources目录下创建log4j.properties文件,并添加log4j相关配置
log4j.rootLogger=debug,ServerDailyRollingFile,stdout
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=F:/springboot.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p [%c] - %m%n
log4j.appender.ServerDailyRollingFile.Append=true
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d yyyy-MM-dd HH:mm:ss %p [%c] %m%n
相关推荐
* 官方文档:Spring Boot 的官方文档提供了详细的使用指南和 API 参考手册。 * 社区支持:Spring Boot 的社区支持提供了丰富的资源,包括博客、视频、讨论组等。 * third-party 库:Spring Boot 的 third-party 库...
如果你想在WAR包中部署并在Servlet容器中运行,你可以参考`spring-boot-admin-sample-war`示例项目。而`spring-boot-admin-sample-servlet`项目则展示了如何在添加安全验证的情况下配置Spring Boot Admin Server。 ...
综上,《Spring Boot参考指南》覆盖了Spring Boot的各个方面,无论是初学者还是经验丰富的开发者,都能从中受益匪浅,快速掌握Spring Boot的使用技巧和最佳实践。这份中文翻译版本的出现,无疑为国内的Spring Boot...
总之,《Learning Spring Boot 3.0 - 第三版》是对希望掌握最新Spring Boot技术的Java开发者来说是一本非常有价值的参考资料。它全面覆盖了从基础到高级应用的各个主题,为开发者提供了一个清晰的学习路径。无论你是...
以上只是《Spring Boot参考指南》中部分内容的概述,实际指南会包含更多关于如何使用Spring Boot创建、配置和管理应用的详细指导,包括Spring Boot与其他技术(如Spring Cloud、MyBatis、MongoDB等)的集成,以及...
Spring Boot参考指南涵盖了Spring Boot的基本概念、安装方法、应用构建、运行和打包,以及高级配置和生产部署等多方面的内容。该指南为Java开发者提供了一个全面的入门手册,帮助他们从零开始创建自己的Spring Boot...
总的来说,《Spring Boot 2 Cookbook 第二版》是一本全面而实用的参考书,无论你是初学者还是有经验的开发者,都能从中获益,提升你的Spring Boot应用开发技能。书中的例子和实践指导将帮助你更好地理解和应用Spring...
Spring Boot 参考指南 Spring Boot 是一个基于 Spring 框架的框架,旨在简化 Spring 应用程序的开发过程。Spring Boot 提供了一些默认配置和 starters,以便快速构建生产级别的应用程序。 Spring Boot 的特点 1....
综上所述,"Spring Boot 中文参考手册"将涵盖以上所有内容,并可能包括更多关于如何创建、配置、运行和调试Spring Boot应用的详细信息,以及实战示例和最佳实践。这个手册对于学习和掌握Spring Boot技术是非常有价值...
Spring Boot 2.0.0中文参考手册。Spring Boot 使创建独立的、产品级的、基于Spring的应用变得更容易,你只需要运行run即可。我们采用不变的Spring平台和第三方库,因此你可以几乎无差别的使用Spring Boot。大多数...
### Spring Boot 2.0官方参考文档知识点梳理 #### 一、Spring Boot 2.0简介与系统需求 - **Spring Boot**是一个基于Spring框架的全新子项目,它旨在简化新Spring应用的初始搭建以及开发过程。该版本为2.0.0.BUILD-...
描述:Spring Boot中文文档是Spring Boot官方文档的中文翻译版,它包含了Spring Boot的基本介绍、快速入门、核心特性、高级特性等内容,可以帮助用户快速了解和掌握Spring Boot的使用方法和技巧。 Spring Boot是一款...
### Spring Boot参考指南知识点概述 #### 一、Spring Boot 文档概述 - **关于本文档**:本指南旨在提供Spring Boot全面的使用手册,适用于初学者到进阶开发者。 - **获取帮助**:介绍了如何获得Spring Boot相关的...
总而言之,《Spring Boot揭秘》是学习和掌握Spring Boot技术体系的重要参考资料,无论是初学者还是经验丰富的开发者,都能从中受益匪浅。书中不仅涵盖了理论知识,还有实践案例,有助于提升读者的实际操作技能。通过...
本指南将深入探讨Spring Boot的核心特性、优势以及如何使用它来构建微服务。 首先,Spring Boot的核心理念是“约定优于配置”,这意味着它通过预设的默认配置,减少了传统Spring应用所需的大量XML配置。这使得...
5. **YAML/Properties配置**:Spring Boot支持使用 YAML 或 Properties 文件进行配置。YAML提供更易读的格式,而Properties则更传统。 6. **JPA与数据访问**:本教程中的“jpa-in-action”部分将详细讲解如何使用...
《Learning Spring Boot 2.0 Second Edition》是学习Spring Boot 2.0的重要参考资料,它深入浅出地介绍了这个流行的Java开发框架的核心概念和技术。Spring Boot简化了Spring应用程序的初始搭建以及开发过程,旨在...
### Spring Boot中文参考指南知识点概览 #### 一、Spring Boot 概述 - **Spring Boot** 是一种简化新Spring应用的初始搭建以及后续开发的框架。它旨在通过提供默认配置来简化设置过程,使开发者能够专注于应用的...