项目使用maven进行开发
1.pom.xml文件添加依赖
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.43</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestone</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestone</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
2.在src/main/resource目录下新建配置文件application.properties(配置信息)
spring.datasource.url=jdbc:mysql://localhost:3306/eshop
spring.datasource.username=root
spring.datasource.password=88888
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.在src/main/resource目录下新建文件夹templates(springboot没有这文件夹会报错的)和mybatis文件夹(项目如果使用mybatis的话,用来放置xml文件)
4.写一个springboot入口类,如下:
package com.kang.eshop.product.ha;
import java.util.HashSet;
import java.util.Set;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.tomcat.jdbc.pool.DataSource;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ServletListenerRegistrationBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import com.kang.eshop.product.ha.listener.InitListener;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
/**
* 库存服务Application入口类
* @author kangkang
*
*/
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@MapperScan("com.kang.eshop.product.ha.mapper")
public class Application {
/**
* 构建数据源
* @return DataSource
*/
@Bean
@ConfigurationProperties(prefix="spring.datasource")
public DataSource dataSource(){
return new DataSource();
}
/**
* 构建mybatis入口类
* @return SqlSessionFactory
* @throws Exception
*/
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));
return sqlSessionFactoryBean.getObject();
}
/**
* 构建事务管理器
* @return PlatformTransactionManager
*/
public PlatformTransactionManager transactionManager(){
return new DataSourceTransactionManager(dataSource());
}
/**
* redis cluster管理器
* @return JedisCluster
*/
// @Bean
// public JedisCluster JedisClusterFactory() {
// Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 6379));
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 7001));
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 7002));
// JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes);
// return jedisCluster;
// }
/**
* 注册监听器
* rawtypes大概是说传参时,不该传递基本的类型,导致参数过长,应该传递一个对象把这些参数包装起来
* @return
*/
@SuppressWarnings({"rawtypes","unchecked"})
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean(){
ServletListenerRegistrationBean servletListenerRegistrationBean=
new ServletListenerRegistrationBean();
servletListenerRegistrationBean.setListener(new InitListener());
return servletListenerRegistrationBean;
}
/**
* Spring Boot Application 启动入口方法
*
*/
public static void main( String[] args ){
SpringApplication.run(Application.class, args);
}
}
5.新建各种包,注意,Application类放在最外层
6.测试springboot是否搭建成功
package com.kang.eshop.product.ha.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 测试Controller控制器
* @author Administrator
*
*/
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String getUserInfo(String name) {
return "hello! "+name;
}
}
浏览器访问:http://localhost:8080/hello?name=tom
如果后台接受成功,则搭建成功!