1. 启动彩蛋修改:

    项目resources目录下建立banner.txt文件就可替换原来的菜单

    字符画生成的网站http://www.network-science.de/ascii/ http://patorjk.com/software/taag/

  2. 切换不同环境配置

    在idea 启动配置program arguments加上–spring.profiles.active={profile},或在dos行加上–spring.profiles.active={profile};

    或配置文件spring.profiles.active={profile}

    各个环境公共的配置写在application.properties中

    各个模块独有的配置配置在自己的application-{xxx}.properties文件中

    程序读取的时候优先读取application.properties中选中的profile的配置,若读不到才会从application.properties去读

  3. 读取配置

    必须先@Component  然后参数@Value("${cusvar}"

    @Value("${app.name}")

    private String cusvar ; 将${app.name}值赋予cusvar

    name= HowieLi

    age= 18

    content= "name: ${name}, age: ${age}"

    代码中直接调用content就可以了,访问启动的应用显示name: HowieLi, age: 18。

  4. @RestController该注解是Spring4之后新加的注解,等同于@Controller和@ResponseBody的组合。

    @RequestMapping(value = "/hello", method = RequestMethod.GET)== @GetMapping("/hello")

    @RequestMapping(value = {"/hello", "/hi"}, method = RequestMethod.GET)访问/hello和/hi是一样的效果

    @GetMapping(value = "/say/{id}")

    public String helloGet(@PathVariable("id") int id, @RequestParam("name") String name) {return "id: " +  id + ",name:" + name;}访问http://localhost:8080/say/5?name=howieli

  5.     import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    import lombok.Data;
    
    /**
     * Created by  on 2017/07/01.
     */
    
    @Data
    
    @Component    //将Person类交由Spring容器管理
    @ConfigurationProperties(prefix = "person")   //填写配置文件中的前缀
    public class Person {
    	private String name;
    	private int age;
    //
    //	public String getName() {
    //		return name;
    //	}
    //	public void setName(String name) {
    //		this.name = name;
    //	}
    //	public int getAge() {
    //		return age;
    //	}
    //	public void setAge(int age) {
    //		this.age = age;
    //	}
    	@Override
    	public String toString() {
    		return "Person [name=" + name + ", age=" + age + "]";
    	}
    }
     
         @Autowired
    	private Person person;
    	@RequestMapping("/hellTask")
    	public String hellTask(){
    		logger.info("访问hellTask");
    		return person.toString();
    	}

    获得配置文件值

  6. Preferences -> Editor -> General -> Appearance, uncheck "Show Spring Boot metadata panel"解决Spring Boot Configuration Annotation Processor not found in classpath

  7. Usage of API documented as @since 1.6+ This inspection finds all usages of methods that have @since tag in their documentation. This may be useful when development is performed under newer SDK version as the target platform for production解决方法

    File ->Project Structure->Project Settings -> Modules -> 你的Module名字 -> Sources -> Language Level->选个默认的就行。

  8. 1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符,怎么办?

      加上

        1.8

        1.8

       

         

         

            org.apache.maven.plugins

            maven-compiler-plugin

            3.6.1

           

              1.8

              1.8

           

         

         

       


  9. ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package. 因为application.java 文件不能直接放在main/java文件夹下,必须要建一个包把他放进去

  10. 热部署参看http://www.cnblogs.com/java-zhao/p/5502398.html

    http://blog.csdn.net/jsshaojinjie/article/details/64125458

     

      org.springframework.boot

      spring-boot-maven-plugin

     

        true

     

             

     org.springframework.boot

     spring-boot-devtools

     true

    CTRL + alt + s --> 查找make project automatically --> 选中 

    ctrl+shift+alt+/ --> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running 

    关闭热部署spring.devtools.restart.enabled 属性为false

    System.setProperty("spring.devtools.restart.enabled","false");

  11.  public static void main(String[] args) throws IOException {

       Properties properties= new Properties();

         //System.out.println(System.getProperty("user.dir"));

         //自己设置文件位置

         //InputStream in = new FileInputStream(System.getProperty("user.dir")

         //+"/isoft-manager/isoft-manager-pojo/app.properties");

         //Resources位置

         InputStream in=Application.class.getClassLoader().getResourceAsStream("app"

    + ".properties");

         properties.load(in);

         SpringApplication app=new SpringApplication(Application.class);

         app.setDefaultProperties(properties);

         app.run(args);

       }使用自己的启动设置


  12. 使用fastjson

    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters(){
       //1.需要定义一个convert转换消息的对象;
       FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
       //2:添加fastJson的配置信息;
       FastJsonConfig fastJsonConfig = new FastJsonConfig();
       fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
       //3处理中文乱码问题
       List fastMediaTypes = new ArrayList();
       fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
       //4.在convert中添加配置信息.
       fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
       fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
       HttpMessageConverter converter = fastJsonHttpMessageConverter;
       return new HttpMessageConverters(converter);}


  13. http://blog.csdn.net/xiaoyu411502/article/details/48049099application.properties配置说明