以往写web都是以大量的xml文件开始,此次课堂上老师要求用springboot完成项目。刚开始接触时,对于已经习惯使用xml配置的人确实很不习惯,可是研究久了,发现springboot在配置方面确实很是方便,项目搭建至关迅速。可是有的网络上找资料很不方便,所以,这里对本身在使用中查到的一些用法作以总结。css
新建maven(gradle)项目文件,在pom文件中添加springboot的项目引用。spring.io上提供了一个例子:http://spring.io/guides/gs/spring-boot/。html
pom文件以下:java
<?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> <groupId>org.springframework</groupId> <artifactId>gs-spring-boot</artifactId> <version>0.1.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <properties> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
snapshot版本和release版本的依赖不一样,简单点的配置是release版本。mysql
建立HelloWorldController,用以路径分发git
package hello; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Spring Boot!"; } }
而后新建Application主类,运行main函数,即可以启动springboot默认服务器完成配置github
package hello; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
@SpringBootApplication 标签表明了 @Configuration, @EnableAutoConfiguration, @ComponentScan 这3个标签。web
运行之后,访问localhost:8080就能获得index函数返回的数据。spring
application.yml(.properties)中可配置端口和根路径 sql
server: context-path: / port: 8080
springboot默认的静态资源路径是 :
/META-INF/resources/
/resources/
/static/
/public/ 数据库
固然也能够本身配置,以下:
@Configuration @ComponentScan public class MyConfiguration extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // registry.addResourceHandler("/js/**") // .addResourceLocations("classpath:/js/"); // registry.addResourceHandler("/css/**") // .addResourceLocations("classpath:/css/"); // registry.addResourceHandler("/WEB-INF/resources/image/**") // .addResourceLocations("classpath:/image/"); // registry.addResourceHandler("/static/**") // .addResourceLocations("classpath:/html/"); // registry.addResourceHandler("/**").addResourceLocations("/"); } }
addResourceHandler("/js/**")拦截/js/**的访问
addResourceLocations("classpath:/js/");定义到classpath:/js/路径下
使用druid链接池,pom中添加:
<!-- mysql 驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> </dependency> <!-- 数据库链接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.5</version> </dependency>
而后在application.yml(.properties)中配置便可
spring: datasource: name: sd url: jdbc:mysql://***.***.***.***/3306/sd?useUnicode=true&characterEncoding=utf8 username: * password: * # 使用druid数据源 # 在此处配置便可 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20
一样,先添加pom
<!-- page helper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>RELEASE</version> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>1.4.9</version> </dependency>
建立mybatis-plus的mapper生成函数
package Generator; import com.baomidou.mybatisplus.annotations.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.ConfigGenerator; public class EntityGenerator { public static void main(String[] args) { ConfigGenerator cg = new ConfigGenerator(); // 配置 MySQL 链接 cg.setDbDriverName("com.mysql.jdbc.Driver"); cg.setDbUser("*"); cg.setDbPassword("*"); cg.setDbUrl("jdbc:mysql://***.***.***.***:3306/sd?characterEncoding=utf8"); // 配置包名 cg.setEntityPackage("com.attendance.model"); cg.setMapperPackage("com.attendance.mapper"); cg.setServicePackage("com.attendance.service"); cg.setXmlPackage("com.attendance.mapper.xml"); cg.setServiceImplPackage("com.attendance.service.impl"); // 配置表主键策略 cg.setIdType(IdType.AUTO); // 配置保存路径 cg.setSaveDir("E:\\Users\\OPTIPLEX\\Documents\\Codes\\Attendency\\src\\main\\java\\"); // 其余参数请根据上面的参数说明自行配置,当全部配置完善后,运行AutoGenerator.run()方法生成Code // 生成代码 AutoGenerator.run(cg); } }
函数执行之后能够生成相应的service/mapper/bean等等类
经过配置MybatisPlusConfig就可使用通用单表mapper、service函数,或者不通过配置自定义sql方法。具体内容见mybatis-plus官网。pagehelper同理。
application.yml文件中添加
logging: config: classpath:logback.xml path: /Users/attendancy/logs level: debug
resources下建立logback.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- 默认配置 --> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <logger name="org.springframework.web" level="DEBUG"/> <logger name="com.ibatis" level="DEBUG" /> <!--<logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" />--> <!--<logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" />--> <!--<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" />--> <!--<logger name="java.sql.Connection" level="DEBUG" />--> <!--<logger name="java.sql.Statement" level="DEBUG" />--> <!--<logger name="java.sql.PreparedStatement" level="DEBUG" />--> </configuration>
其余更多配置使用的使用再作记录。。。。。。。。