POM文件
<?xml version="1.0" encoding="UTF-8"?>
<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>javascript
<groupId>com.sk.confluence</groupId> <artifactId>spring-boot-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>spring-boot-demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.9-rc</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 熱部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 沒有該配置,devtools 不生效 --> <fork>true</fork> </configuration> </plugin> </plugins> </build>
</project>css
application.yml文件
spring:
profiles:
active: dev
datasource:
url: jdbc:sqlserver://172.26.205.117:1433;DatabaseName=EGSS_TEST
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: EGSS_DEV
password: EgssTest2016!
thymeleaf:
mode: HTML
mybatis:
type-aliases-package: com.sk.confluence.entity
config-location: classpath:mapping/mybatis-config.xml
mapper-locations: classpath:mapping/mssql/*.xml
logging:
level:
root: info
file: logs/my.loghtml
application-dev.yml文件
server:
port: 8081
servlet:
context-path: /skccjava
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 文件輸出格式 -->
<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
<!-- test文件路徑 -->
<property name="TEST_FILE_PATH" value="d:/test.log" />
<!-- pro文件路徑 -->
<property name="PRO_FILE_PATH" value="/opt/prod.log" />mysql
<!-- 開發環境 --> <springProfile name="dev"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <logger name="com.light.springboot" level="debug" /> <root level="info"> <appender-ref ref="CONSOLE" /> </root> </springProfile> <!-- 生產環境 --> <springProfile name="prod"> <appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${PRO_FILE_PATH}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern> <MaxHistory>100</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> </layout> </appender> <root level="warn"> <appender-ref ref="PROD_FILE" /> </root> </springProfile>
</configuration>br/>Controller文件
@Controller
public class BookShopController {web
@Autowired private UserXmlMapper userMapper; @Autowired private CarEntity carInfo; @RequestMapping(value="/greeting") public String bookshop(String shopName,Model m) { CarEntity carInfo = new CarEntity(); m.addAttribute("ShopName", "陽光書林"); m.addAttribute("CarInfo", carInfo.toString()); return "bookshop"; } @RequestMapping(value ="/",method=RequestMethod.GET) public String home() { return "index"; } @GetMapping(value="books/{userid}") public String detail(@PathVariable Integer userid,Model m) { m.addAttribute("bookid", userid); UserEntity user = new UserEntity(); user.setId(userid); user.setUsername("TOM JACK(王忠義)"); List<UserEntity> users = userMapper.getAllUser(); m.addAttribute("user", user); m.addAttribute("CarInfo", carInfo.toString()); return "bookshop"; } @GetMapping(value="users") public String detail(Model m) { List<UserEntity> userEntities = new ArrayList<>(); userEntities = userMapper.getAllUser(); m.addAttribute("users", userEntities); return "users"; } @GetMapping(value="userdetail/{id}") public String userdetail(@PathVariable(required=false) Integer id,Model m) { Map<String,Object> map = new HashMap<>(); map.put("id", id); UserEntity user = userMapper.getUserByid(map); m.addAttribute("user", user); return "userdetail"; } @PostMapping(value="insertUser") public String insertUser(UserEntity userEntity) { Map<String, Object> map = new HashMap<>(); map.put("username", userEntity.getUsername()); userMapper.insertUser(map); return "redirect:/users"; } @PostMapping(value="deleteUser") public String deleteUser(UserEntity userEntity) { Map<String, Object> map = new HashMap<>(); map.put("id", userEntity.getId()); userMapper.deleteUser(map); return "redirect:/users"; } @PostMapping(value="updateUser") public String updateUser(UserEntity userEntity) { Map<String, Object> map = new HashMap<>(); map.put("id", userEntity.getId()); map.put("username", userEntity.getUsername()); userMapper.updateUser(map); return "redirect:/users"; }
}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">;
<head>
<meta charset="UTF-8">
<!-- 使用IE最高版本 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 移動端寬度與設備同寬 縮放比例爲1 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Spring Book Shop</title>spring
<link rel="stylesheet" type="text/css" media="all"
th:href="@{/bootstrap-3.3.7-dist/css/bootstrap.min.css}">sql
</head>
<body>
<div class="container" style="max-width: 700px;">
<h2 class="page-heaher" style="margin-top: 50px;">詳細信息</h2>
<div class="well">
<p>能取到值嗎</p>
<p th:text="${bookid}">1001</p>
<p>
<strong>用戶id:</strong><span th:text="${user.id}">1001</span>
</p>
<p>
<strong>用戶姓名:</strong><span th:text="${user.username}">張三</span>
</p>
<p>
<input type="text" id="txtuserid" value="T1000256"
th:value="${user.id}" /> <input type="text" id="txtusername"
value="TOM KOL" th:value="${user.username}" />apache
</p> <p th:text="${user.username}">123654</p> <p th:switch="${user.id}"> <strong>狀態:</strong> <span th:case="0">想讀</span> <span th:case="1">已讀</span> <span th:case="2">不讀</span> </p> </div> <div class="alert alert-success" th:unless="${user.id == 0}"> <strong>不錯</strong>,你已經開始行動啦 </div> <div class="alert alert-warning" th:if="${user.id == 0}"> <strong>啊</strong>,你尚未開始行動啦 </div> <p> <strong>CarInfo:</strong> <span th:text="${CarInfo}"></span> </p> <a href="javascript:history.go(-1)" class="btn btn-default">返回</a> </div>
</body>
</html>bootstrap
程序啓動入口br/>@SpringBootApplication
@MapperScan("com.sk.confluence.dao")
public class SpringBootDemoApplication {
public static void main(String[] args) { SpringApplication.run(SpringBootDemoApplication.class, args); } @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { return args -> { System.out.println("Let's inspect the beans provided by Spring Boot:"); String[] beanNames = ctx.getBeanDefinitionNames(); Arrays.sort(beanNames); for (String beanName : beanNames) { System.out.println(beanName); } }; }
}