springboot小知识

有道云笔记链接 :http://note.youdao.com/noteshare?id=3c853cbdd3ed9c9ba5694dd44c6cea77
pom.xml文件 : http://note.youdao.com/noteshare?id=7bf87f028b414e7798c2128242f0439a

如何做单元测试 (spring test + junit 对spring mvc 的测试):
打开的src/test/下的测试入口,编写简单的http请求来测试;使用 mockmvc 进行,利用 MockMvcResultHandlers.print() 打印出执行结果。

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public   class   HelloTest {
     private  MockMvc mvc;
     @Before
     public   void   setUp () throws  Exception {
        mvc = MockMvcBuilders.standaloneSetup( new  HelloWorldController()).build();
    }
     @Test
     public   void   getHello () throws  Exception {
    mvc.perform(MockMvcRequestBuilders.get( "/hello" ).accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andDo(MockMvcResultHandlers.print())
                .andReturn();
    }
}



热部署:
热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括 EJB 服务器和Servlet容器,都支持热部署。

只需在pom.xml中添加 一个节点 :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>


返回json :
要有三个jar包:
jackson-databind-2.8.10jar
jackson-annotation-2.8.0jar
jackson-core-2.8.10jar

代码 :

代码 :
@RestController
public class HelloController {
@RequestMapping("/hello")
public Object index() {
List list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(i+"");
}
return list;
}
}



目录结构 :

main.java(主程序)要放在
与pom.xml文件中<groupId> xxx </groupId>包中的xxx相同的包下
例如 :



增加web 支持 :
在pom.xml中添加节点 :
<!-- springboot对web的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>



springboot 增加jsp视图 :
1 .在application.properties 文件中配置 :

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

2.在pom.xml文件中添加
<!-- 添加servlet jsp需要 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

<!-- tomcat支持 jsp是由tomcat编译 -->

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>




添加druid :
在application.properties中添加 :
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.name=druid

spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 1 FROM t_user
spring.datasource.druid.testWhileIdle=true
spring.datasource.druid.testOnBorrow=true
spring.datasource.druid.testOnReturn=false
spring.datasource.druid.poolPreparedStatements=true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000






springboot打war包:
1.首先先把 pom.xml文件中的
<packaging> jar </packaging> 改成 <packaging> war </packaging>


2.在pom.xml文件中添加排除tomcat的依赖 :
<!-- 打war包时排除tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

在这里将scope属性设置为provided,这样在最终形成的WAR中不会包含这个JAR包,因为Tomcat或Jetty等服务器在运行时将会提供相关的API类。

3.给主程序继承SpringBootServletInitializer,
继承SpringBootServletInitializer ,覆盖configure(),把启动类Application注册进去。外部web应用服务器构建Web Application Context的时候,会把启动类添加进去。


4.最后执行
mvn clean package -Dmaven.test.skip=true
会在target目录下生成:项目名+版本号.war文件,拷贝到tomcat服务器中启动即可。
或者
在项目中操作 : run as ---> maven clean ---> run as ---->maven install
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星火染星野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值