Spring Boot項目構建

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);
        }

    };
}

}

相關文章
相關標籤/搜索