Nginx配置favicon.ico

环境:Nginx日志报错说找不到favicon.ico文件

修改Nginx的配置文件nginx/conf/nginx.conf

  1. 如果原来Nginx已经配置了 root /home/wwwroot,直接把favicon.ico文件放到root对应的目录下即可
  1. 也可以单独设置 favicon.ico文件的路径
    location ~ ^/favicon\.ico$ {
        root    /home/nginx-assets/img;
    }

这样把favicon.ico放到/home/nginx-assets/img也可以实现效果,如下图:

张国利博客

Spring注解 @Profile : 多环境配置管理

运行时根据激活的Profile决定创建哪个bean

一、配置不同的profile

Spring 3.1只能用在类级别上

假设开发环境(dev)下返回10,生产环境(prod)返回1000。

@Configuration
@Profile("dev")
public class devConfig {
    @Bean
    public int num() {
        return new Integer(10);
    }
}
@Configuration
@Profile("prod")
public class prodConfig {
    @Bean
    public int num (){
        return new Integer(1000);
    }
}

- 阅读全文 -

迟到的2016年总结-生活篇

2016年,对我来说是一个快速变化的一年,也是改变最大的一年,从学生转变为职场人。
这一年,我结束了在lc的6个月实习工作,返回到学校一边做毕业设计,一边考驾照,毕业后又返回lc。

- 阅读全文 -

初识JSON

1.对象:以{开始,以}结束,包含一系列非排序的名称/值对,每个非排序的名称/值对之间以,分区.
2.名称/值之间以:分开

3.可以是字符串,数值,对象,布尔值,有序列表,null
4.字符串:使用双引号括起来
5.数值:正数,负数,0,小数,用e或E表示的指数
6.布尔值:true或false
7.有序列表:用[ ]括起来,多个之间用,区分

更详细的定义可以查看RFC 4627JSON官网

上面的内容可以总结为下面这幅图

JSON-张国利博客

- 阅读全文 -

JUnit常用注解

待更新

JUnit入门JUnit运行流程中介绍了JUnit的常用注解@BeforeClass,@Before,@Test,@After,@AfterClass.

除此之外还有其他的注解:

  1. @Ignore 暂时忽略某些测试方法/测试类
    @Ignore
    @Test
    public void testXxx() throws Exception {
        
    }
    @Ignore
    public class TestJunit {

    }
  1. RunWith 运行器

- 阅读全文 -

JUnit运行流程

package junit;

import static org.junit.Assert.*;

import org.junit.*;

/**
 * Created by guoli on 2017/4/18 0018.
 * aW1laWxpZ2VAZ21haWwuY29tCiAgICAgcXE6Mjg5MTY4NTEKICAgIHpoYW5nZ3VvbGkuY24=
 */
public class FlowTest {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.println("BeforeClass...");
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("AfterClass...");
    }

    @Before
    public void setUp() throws Exception {
        System.out.println("Before...");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("After...");
    }

    @Test
    public void test1() throws Exception {
        System.out.println("test1.....");
    }

    @Test
    public void test2() throws Exception {
        System.out.println("test2.....");
    }
}

- 阅读全文 -

JUnit 4 单元测试入门教程

测试用例是用来验证达到预期结果,但不检查逻辑错误;测试用例不是用来证明你是对的,而是用来证明你没有错.

Maven:

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

在junit包下新建Cal计算类

package junit;

public class Cal {
    public int add(int a, int b) {
        return a + b;
    }
}

新建JUnit的测试类CalTest

- 阅读全文 -

Spring使用Java配置自动装配Bean

Spring配置有3种主要的装配机制:

  1. Java自动装配
  2. Java显式配置
  3. XML显式配置

Spring从组件扫描和自动装配满足自动化装配bean:

  • 组件扫描(component scanning):Spring自动发现应用上下文所创建的bean.
  • 自动装配(autowiring):Spring自动满足bean之间的依赖.

自动化装配可以在最大程度上将显式配置降低到最少,但在将第三方库中的组件装配到自己的应用时是无法添加@Component和@Autowired注解的,这个时候只能选择Java或XML的显式配置.

- 阅读全文 -

Java的回调机制(CallBack)

通俗的解释Java的回调机制:A类调用了B类中的方法C,方法C又反过来调用了A类中的方法D,方法D就是回调方法,这个机制就叫做CallBack.

假设存在计算器类Cal、学生小明类XiaoMing以及老师测试类Tea。

处理流程

  1. 老师布置作业给小明 Question(a,b)
  2. 小明调用计算器 new Cal().add(a,b,this)
  3. 计算器计算 int result = a + b;
  4. 计算器回调小明的Answer(result)方法

1、学生类XiaoMing

public class XiaoMing {

    void Question(int a ,int b){
        new Cal().add(a,b,this);
    }
    void Answer(int result){
        System.out.println("答案是" + result);
    }
}

2、计算器类Cal

public class Cal {
    void add(int a,int b, XiaoMing xiaoMing){
        int result = a + b;
        xiaoMing.Answer(result);
    }
}

3、老师测试类Tea

public class Tea{
    public static void main(String args[]){
        new XiaoMing().Question(2,3);
    }
}

上述例子中,回调函数是Answer(),为了好理解,把学生类和计算器类耦合在一起了,假设小红XiaoHong也需要使用计算器Cal,现在的代码是无法实现的,所以在实际开发中,学生小明类XiaoMing一般是继承某个接口,且回调函数常用接口作为参数,下面的例子是改进后的。

- 阅读全文 -