Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | 云栖社区 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Github | Search | About

第 5 章 Spring Boot

目录

5.1. Spring Boot Quick start
5.1.1. pom.xml
5.1.2. Controller
5.2. 运行 Spring boot 项目
5.2.1. Maven run
5.2.2. Linux systemd
5.2.3. 传统 init.d 脚本
5.3. SpringApplication
5.3.1. @SpringBootApplication
5.3.1.1. 排除 @EnableAutoConfiguration 加载项
5.3.2. @EnableAutoConfiguration
5.3.3. @ComponentScan
5.3.4. @EntityScan 实体扫描
5.3.5. @EnableJpaRepositories
5.3.6. CharacterEncodingFilter
5.3.7. 隐藏 Banner
5.3.8. CORS 跨域请求
5.3.9. 实体与仓库扫描
5.3.10. 列出 Beans
5.4. 编译用于Tomcat的 War
5.5. Properties
5.5.1. @EnableConfigurationProperties 引用自定义 *.properties 配置文件
5.5.2. spring.profiles.active 参数切换配置文件
5.5.3. SpringApplicationBuilder.properties() 方法添加配置项
5.6. Spring boot with Logging
5.6.1. 打印日志
5.6.2. 日志输出级别
5.6.3. 禁止控制台输出日志
5.6.4. 标准输出
5.6.5. 安天分隔日志
5.6.6. 按照文件尺寸分割日志
5.6.7. 指定Class过滤日志
5.6.8. 日志写入 MongoDB
5.6.9. logback 配置详解
5.6.9.1. configuration 属性配置
5.6.9.2. contextName 设置上下文名称
5.6.9.3. property 设置变量
5.6.9.4. encoder 日志格式设置
5.6.9.5. RollingFileAppender
5.7. Service
5.7.1. Application
5.7.2. 定义接口
5.7.3. 实现接口
5.7.4. 调用 Service
5.8. Spring boot with Webpage
5.8.1. Maven
5.8.2. application.properties
5.8.3. Application
5.8.4. IndexController
5.8.5. src/main/webapp/WEB-INF/jsp/index.jsp
5.8.6. 集成模板引擎
5.9. String boot with RestTemplate
5.9.1. 在控制器中完整实例
5.10. Spring boot with Session share
5.10.1. Redis
5.10.1.1. Maven
5.10.1.2. application.properties
5.10.1.3. Application
5.10.2. 测试 Session
5.10.3. JDBC
5.11. Spring boot with MongoDB
5.11.1. Maven
5.11.2. Application
5.11.3. 数据源配置
5.11.3.1. 多数据源配置
5.11.3.2. JPA 多数据源
5.11.3.3. Connection and Statement Pooling
5.11.3.3.1. org.apache.tomcat.jdbc.pool.DataSource
5.11.3.3.2. druid
5.11.3.3.3. c3p0 - JDBC3 Connection and Statement Pooling
5.11.3.3.4. dbcp2
5.11.3.3.5. bonecp
5.11.3.3.6. dbcp2
5.11.4. MongoTemplate
5.11.5. Repository
5.12. Spring boot with MySQL
5.12.1. Maven
5.12.2. Resource
5.12.3. Application
5.12.4. JdbcTemplate
5.12.5. CrudRepository
5.13. Spring boot with Oracle
5.13.1. Maven
5.13.2. application.properties
5.13.3. Application
5.13.4. CrudRepository
5.13.5. JdbcTemplate
5.13.6. Controller
5.14. Spring boot with PostgreSQL
5.14.1. pom.xml
5.14.2. application.properties
5.14.3. Application
5.14.4. CrudRepository
5.14.5. JdbcTemplate
5.14.6. Controller
5.14.7. Test
5.15. Spring boot with Email
5.15.1. Maven
5.15.2. Resource
5.15.3. POJO
5.15.4. RestController
5.15.5. Test
5.16. Spring boot with Velocity template
5.16.1. Maven
5.16.2. Resource
5.16.3. Application
5.16.4. RestController
5.16.5. Test
5.17. Spring boot with Thymeleaf
5.17.1. Maven
5.17.2. application.properties
5.17.3. Controller
5.17.4. HTML5 Template
5.18. Spring boot with Spring security
5.18.1. Maven
5.18.2. Reource
5.18.3. Application
5.18.4. WebSecurityConfigurer
5.18.5. RestController
5.18.6. 测试
5.18.7. Spring + Security + MongoDB
5.18.7.1. Account
5.18.7.2. AccountRepository
5.18.7.3. WebSecurityConfiguration
5.19. Spring boot with Oauth2
5.19.1. Maven
5.19.2. Password tools
5.19.3. Server
5.19.3.1. Maven
5.19.3.2. application.properties
5.19.3.3. EnableAuthorizationServer
5.19.3.4. EnableResourceServer
5.19.3.5. Entity Table
5.19.3.6. UserRepository
5.19.3.7. UserService
5.19.3.8. TestRestController
5.19.3.9. 数据库初始化
5.19.3.10. Test
5.19.4. Spring boot with Oauth2 RestTemplate
5.19.4.1. Maven
5.19.4.2. OAuth2ClientConfiguration.java
5.19.4.3. Application.java
5.19.4.4. application.properties
5.19.4.5. Controller
5.19.4.6. Test
5.20. Spring boot with Scheduling
5.20.1. Application.java
5.20.2. Component
5.20.3. 查看日志
5.20.4. 计划任务控制
5.21. Spring boot with Cache
5.21.1. Spring boot with Redis
5.21.1.1. maven
5.21.1.2. application.properties
5.21.1.3. JUnit
5.21.1.4. Controller
5.21.2. Redis Pub/Sub
5.21.2.1. Redis配置类
5.21.2.2. 订阅和发布类
5.21.2.3. 消息发布演示
5.21.3. @Cacheable
5.21.3.1. maven
5.21.3.2. Controller
5.22. Spring boot with Hessian
5.22.1. Maven
5.22.2. Application
5.22.3. HessianServiceExporter
5.22.4. Service
5.22.5. RestController
5.23. Spring boot with Apache Kafka
5.23.1. 安装 kafka
5.23.2. maven
5.23.3. Spring boot Application
5.23.4. EnableKafka
5.23.5. KafkaListener
5.23.6. 测试
5.23.7. 完整的发布订阅实例
5.23.7.1. Consumer
5.23.7.2. Producer
5.23.7.3. Test
5.23.8. Spring cloud with Kafka
5.23.8.1. Application 主文件
5.23.8.2. 资源配置文件
5.23.8.2.1. application.properties
5.23.8.2.2. bootstrap.properties
5.23.8.2.3. Git 仓库
5.23.8.3. 启用 kafka
5.23.8.4. 消息发布主程序
5.24. Spring boot with RabbitMQ(AMQP)
5.24.1. maven
5.24.2. RabbitMQConfig
5.24.3. 生产者
5.24.4. 消费者
5.25. Spring boot with Git version
5.25.1. CommonRestController 公共控制器
5.25.2. VersionRestController 测试控制器
5.25.3. 创建 .gitattributes 文件
5.26. Spring boot with HTTPS SSL
5.26.1. 生成自签名证书
5.26.2. application.properties 配置文件
5.26.3. 启动 Spring boot
5.26.4. restTemplate 调用实例
5.27. Spring boot with Elasticsearch 2.x
5.27.1. Maven
5.27.2. Application
5.27.3. application.properties
5.27.4. Domain
5.27.5. ElasticsearchRepository
5.28. Spring boot with Elasticsearch 5.5.x
5.28.1. Maven
5.28.2. Application
5.28.3. application.properties
5.28.4. ElasticsearchConfiguration
5.28.5. RestController
5.29. Spring boot with Apache Hive
5.29.1. Maven
5.29.2. application.properties
5.29.3. Configuration
5.29.4. CURD 操作实例
5.30. Spring boot with Phoenix
5.30.1. Maven
5.30.2. application.properties
5.30.3. Configuration
5.31. Spring boot with Data restful
5.31.1. Maven
5.32. Spring boot with ELK(Elasticsearch + Logstash + Kibana)
5.32.1. TCP 方案
5.32.2. Redis 方案
5.32.3. Kafka 方案
5.32.4. Other
5.33. Springboot with Ethereum (web3j)
5.33.1. Maven
5.33.2. application.properties
5.33.3. TestRestController
5.33.4. 测试
5.34. application.properties
5.34.1. 加载排除
5.34.2. PID FILE
5.34.3. 内嵌 tomcat server
5.34.3.1. server.tomcat.basedir
5.34.3.2. server
5.34.3.3. access.log
5.34.3.4. logging
5.34.3.5. charset
5.34.3.6. Session 配置
5.34.3.7. cookie
5.34.3.8. error 路径
5.34.3.9. 压缩传输
5.34.3.10. server.servlet.context-path
5.34.3.11. ssl
5.34.4. JSON 输出与日期格式化
5.34.5. SMTP 相关配置
5.34.6. Redis
5.34.7. MongoDB
5.34.8. MySQL
5.34.9. Oracle
5.34.10. default_schema
5.34.11. datasource
5.34.12. velocity
5.34.13. Security 相关配置
5.34.14. MVC 配置
5.34.15. Kafka 相关配置

注意以下使用 Spring boot 2.0.2

5.1. Spring Boot Quick start

5.1.1. pom.xml

		
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>api.netkiller.cn</groupId>
	<artifactId>api.netkiller.cn</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>Skyline</name>
	<description>skylinechencf@gmail.com</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.0.RELEASE</version>
	</parent>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<source />
					<target />
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>		
		
		

5.1.2. Controller

		
package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}
		
		

测试

curl http://127.0.0.1:8080/