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