zoukankan      html  css  js  c++  java
  • SpringBoot Demo

    Spring Boot,微框架,确实不错,很方便。

    相关网站链接:

    http://www.tuicool.com/articles/veUjQba

    https://www.gitbook.com/book/qbgbook/spring-boot-reference-guide-zh/details

    http://tianmaying.com/tutorial/spring-boot-overview

    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>com.zhengmo</groupId>
        <artifactId>SpringBootTest</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>SpringBootTest</name>
        <url>http://maven.apache.org</url>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <!-- 这里一定要配置上java的版本,如果是1.7版本的可不用配置 -->
            <java.version>1.7</java.version>
            <!-- 配置你的tomcat版本 -->
            <tomcat.version>7.0.55</tomcat.version>
        </properties>
        <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
            </resources>
            <plugins>
                <plugin>
                    <!--如果是通过parent方式继承spring-boot-starter-parent则不用此插件 <plugin> -->
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
        <!-- 父依赖 -->
        <!-- <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> 
            <version>1.2.2.RELEASE</version> </parent> -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.3.1.RELEASE</version>
        </parent>
        <dependencies>
    
    
            <dependency>
                <!-- 导入jar包 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <!-- 导入jar包 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.7</version>
            </dependency>
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
            </dependency>
    
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>
    

    2.SimpleController.java

    package com.zhengmo.springboot;
    
    import java.util.List;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.stereotype.Controller;
    import org.springframework.transaction.annotation.EnableTransactionManagement;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @ComponentScan
    @EnableAutoConfiguration
    @EnableTransactionManagement
    //@RestController
    public class SimpleController {
        @Autowired
        private SimpleDao dao;
        @RequestMapping(value = "/hello", method = RequestMethod.GET)
        //@ResponseBody
        public String hello() {
            return "totalCount:" + dao.getUserCount();
        }
        @RequestMapping(value = "/hellojson/{id}", method = RequestMethod.GET)
        @ResponseBody
        public List<Map<String, Object>> hellojson(HttpServletRequest req, @PathVariable("id") Long id) {
            List<Map<String, Object>> list = dao.getJdbcTemplate().queryForList("select * from users where keyid=?", req.getParameter("keyid") == null ? id : req.getParameter("keyid"));
            return list;
        }
        public static void main(String[] args) {
            SpringApplication.run(SimpleController.class, args);
        }
    }
    

    3.SimpleDao.java

    package com.zhengmo.springboot;
    
    import javax.sql.DataSource;
    
    import org.apache.commons.dbcp.BasicDataSource;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Bean;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.stereotype.Component;
    import org.springframework.transaction.annotation.Transactional;
    
    /**
     * TODO 新建类.
     * @author zhengmo
     */
    @Component
    public class SimpleDao {
        @Bean
        @ConfigurationProperties(prefix = "spring.dbcp.datasource")
        public DataSource dataSource() {
            BasicDataSource ds = new BasicDataSource();
            ds.setTestOnBorrow(true);
            ds.setTestOnReturn(true);
            ds.setTestWhileIdle(true);
            ds.setValidationQuery("select 1");
            return ds;
        }
        @Autowired
        private JdbcTemplate jdbcTemplate;
        /**
         * 设置jdbcTemplate.
         * @return 返回jdbcTemplate
         */
        public JdbcTemplate getJdbcTemplate() {
            return jdbcTemplate;
        }
        /**
         * 获取jdbcTemplate.
         * @param jdbcTemplate 要设置的jdbcTemplate
         */
        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
            this.jdbcTemplate = jdbcTemplate;
        }
        @Transactional
        public int getUserCount() {
            return this.getJdbcTemplate().queryForObject("select count(1) from users", Integer.class);
        }
    }
    

    4.application.properties

    # SPRING CONFIG (ConfigFileApplicationListener)
    spring.config.name=
    spring.config.location=
    spring.main.sources=
    spring.main.web-environment=
    spring.main.show-banner=true
    
    # LOGGING
    logging.level.=INFO
    logging.path=
    logging.file=
    logging.config=
    
    # IDENTITY (ContextIdApplicationContextInitializer)
    spring.application.name=SpringBootTest@2016
    spring.application.index=1
    
    #datasource
    spring.dbcp.datasource.url=jdbc:mysql://localhost/test
    spring.dbcp.datasource.username=root
    spring.dbcp.datasource.password=123456
    spring.dbcp.datasource.driver-class-name=com.mysql.jdbc.Driver
    #
    spring.datasource.url=jdbc:mysql://localhost/test
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
    # Server settings (ServerProperties)
    server.port=8111
    server.address=127.0.0.1
    server.sessionTimeout=30
    server.contextPath=
    # Tomcat specifics
    tomcat.accessLogEnabled=false
    tomcat.protocolHeader=x-forwarded-proto
    tomcat.remoteIpHeader=x-forwarded-for
    tomcat.basedir=
    # secs
    tomcat.backgroundProcessorDelay=30
    

    目录结构:

    ├─.settings
    ├─src
    │ ├─main
    │ │ ├─java
    │ │ │ └─com
    │ │ │ └─zhengmo
    │ │ │ └─springboot
    │ │ └─resources
    │ └─test
    │ └─java
    │ └─com
    │ └─zhengmo
    │ └─springboot
    └─target
    ├─classes
    │ ├─com
    │ │ └─zhengmo
    │ │ └─springboot
    │ └─META-INF
    │ └─maven
    │ └─com.zhengmo
    │ └─SpringBootTest
    ├─generated-sources
    │ └─annotations
    ├─generated-test-sources
    │ └─test-annotations
    ├─maven-archiver
    ├─maven-status
    │ └─maven-compiler-plugin
    │ ├─compile
    │ │ └─default-compile
    │ └─testCompile
    │ └─default-testCompile
    ├─surefire-reports
    └─test-classes
    └─com
    └─zhengmo
    └─springboot

  • 相关阅读:
    C#开发: 通信篇-串口调试助手
    C#开发: 准备工作-C# 新建工程
    C#开发: 准备工作-Visual Studio 安装
    ESP8266 SDK开发: 外设篇-串口
    ESP8266 SDK开发: 外设篇-定时器,延时
    ESP8266 SDK开发: 外设篇-GPIO中断检测
    【java编程】加载Resources配置文件的方法
    【java高级编程】jdk自带事件模型编程接口
    【mybatis源码学习】mybtias知识点
    【java编程-Javassist】秒懂Java动态编程(Javassist研究)
  • 原文地址:https://www.cnblogs.com/rench/p/5114055.html
Copyright © 2011-2022 走看看