1、在搭建好的基础应用上,进行业务层和控制层代码分离
提供代码的基础框架结构,如下图所示,分为控制层,业务层,以及常见的测试代码,bean类中存放基类。
resources中存放配置信息。pom.xml为jar包引入信息。
2、提供业务层接口,以及业务层接口实现
//业务层接口public interface TestInterface { public int testInterface(); public User testUser();}//接口实现@Servicepublic class TestInterfaceImpl implements TestInterface { @Override public int testInterface() { return 0; } @Override public User testUser() { return new User(); }}
3、controller层代码
@Controller@RequestMapping("/test")public class TestBootController { @Autowired private TestInterface testInterFace; @RequestMapping("/num") @ResponseBody int home() { int i = testInterFace.testInterface(); return i; } @RequestMapping("/get") @ResponseBody User getUser(){ return testInterFace.testUser(); }}
@Controller@RequestMapping("user")public class UserController { @Autowired private TestInterface testInterFace; @RequestMapping("/get") @ResponseBody User getUser() { return testInterFace.testUser(); }}
4、在包的最外层提供应用启动入口- application
@EnableAutoConfiguration@ComponentScan(basePackages = {"com.lar.testInterface"})public class Application { public static void main(String[] args) throws Exception{ SpringApplication.run(Application.class, args); }}
启动后查看信息
5、在项目中添加日志文件信息,添加新的pom依赖
org.springframework.boot spring-boot-starter-logging
修改logback.xml中信息(简单日志输出,全部输出到一个日志文件中)
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n ${LOG_HOME}/TestSpringBoot.log.%d{yyyy-MM-dd}.log 30 %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n 10MB
6、重启应用,可以在文件中看到日志信息
7、对日志文件输出进行优化,可以分为两个 日志文件输出,分别输出info信息和 error信息
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n ${LOG_HOME}/TestSpringBoot_info.log.%d{yyyy-MM-dd}.log 30 info ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n 10MB ${LOG_HOME}/TestSpringBoot_error.log.%d{yyyy-MM-dd}.log 30 error ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n 10MB
生成的日志信息
TestSpringBoot_info.log.2018-04-25.log中日志信息
8、日志文件可以按照要求在控制台彩色输出
${CONSOLE_LOG_PATTERN} utf8
修改原始logback.xml文件为:
${CONSOLE_LOG_PATTERN} utf8 ${LOG_HOME}/TestSpringBoot_info.log.%d{yyyy-MM-dd}.log 30 info ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n 10MB ${LOG_HOME}/TestSpringBoot_error.log.%d{yyyy-MM-dd}.log 30 error ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n 10MB
对比彩色输出和普通控制台输出:
普通控制台输出信息:
彩色控制台输出:
彩色输出信息更为明显。