main的 启动和配置文件的读取

转载自:https://blog.csdn.net/weixin_40873368/article/details/78884690

(如侵权请留言,会删除)

1.建立简单的springboot项目
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
     //最简单直接的方式,调用SpringApplication类的静态方法run()
     SpringApplication.run(Application.class,args);
    }
}

@SpringBootApplication注解是一个组合注解,是标注此类为springboot项目的启动入口

可用@EnableAutoConfiguration和@ComponentScan代替

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
    //方式二
        SpringApplication springApplication=new SpringApplication(Application.class);
        springApplication.run(args);
    }
}

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
       //启动方式三
        ConfigurableApplicationContext context = SpringApplication.run(Application.class,args);
    }
}

注意run()方法的参数可以指定其他配置类,用@SpringBootConfiguration注解标注

比如:

//实体bean
@Component
public class User {
    public void say(){
        System.out.println("Hello spring boot");
    }
}
//配置类,管理bean
@SpringBootConfiguration
@ComponentScan
public class MyConfig {

    @Bean
    public User user(){
        return new User();
    }

}

//启动入口
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(MyConfig.class,args);
        context.getBean(User.class).say();
    }
}

2.配置文件的读取

在springboot中,默认的配置文件为根目录下的application.properties,项目启动时程序会自动读取此配置文件

//默认的application.properties配置文件
my.name=wangpeicai
ip.localhost=127.0.0.1
default.port=8080
tomcat.port=${default.port}

//读取默认的application.properties配置文件
//1.方式一
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        ConfigurableApplicationContext context=SpringApplication.run(Application.class,args);
        //通过getEnvironment(),getProperty()方法获取配置属性值
        System.out.println(context.getEnvironment().getProperty("my.name"));
        }

//2.方式二
/**
 * 获取配置文件的值的方式
 * 方式一:直接注入Environment对象通过getProperty方法获取配置
 * 方式二:通过@Value(${属性名})获取
 */
@SpringBootConfiguration
public class MyEnvironment{

    @Autowired//通过注解直接注入对象
    private Environment environment;

    @Value("${default.port}")
    private String defaultPort;
    @Value("${tomcat.port}")
    private String tomcatPort;
    //可以通过此方式给属性设置默认值
    @Value("${my.port:1212}")
    private String myPort;

    public void show(){
        System.out.println(environment.getProperty("ip.localhost"));
        System.out.println(defaultPort);
        System.out.println(tomcatPort);
        System.out.println(myPort);
    }
}

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        ConfigurableApplicationContext context=SpringApplication.run(Application.class,args);
        context.getBean(MyEnvironment.class).show();
    }

application.properties文件可以放在config目录下,springboot也会默认去读取此目录下的application.peoperties文件,在这就不多说关于设置自定义名字的默认配置文件以及自定义的默认目录了

//读取其他的配置文件,通过@PropertySource指定文件
//JdbcConfig.properties配置文件
driveClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/springboot
username=root
password=root

@Configuration
//@PropertySource("classpath:jdbcConfig.properties")//加载一个属性文件
@PropertySources({@PropertySource("classpath:jdbcConfig.properties"),@PropertySource("file:/W:/workspace_idea/springbootreadproperty/testConfig.properties")})//加载多个属性文件,file:/ 可以指定系统目录下的属性文件
public class JdbcConfig {
    @Value("${driveClassName}")
    private String driveClassName;
    @Value("${url}")
    private String url;
    @Value("${username}")
    private String username;
    @Value("${password}")
    private String password;

    //从系统目录中读取的文件属性值
    @Value("${my.test}")
    private String myTest;

    public void showJdbcProperties(){
        System.out.println("driveClassName="+driveClassName);
        System.out.println("url="+url);
        System.out.println("username="+username);
        System.out.println("password="+password);
        System.out.println("myTest="+myTest);
    }
}

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        ConfigurableApplicationContext context=SpringApplication.run(Application.class,args);
        context.getBean(JdbcConfig.class).showJdbcProperties();
    }

//通过@ConfigurationProperties(prefix = "xxx")的方式指定读取前缀名为xxx的属性值
//wpc.properties配置文件
wpc.name=wpc
wpc.age=100
wpc.sex=man

@Component
@PropertySource("classpath:wpc.properties")
@ConfigurationProperties(prefix = "wpc")//可以通过前缀名注入属性
public class WpcConfig {

    private String name;
    private int age;
    private String sex;

    public void show (){
        System.out.println("wpc.name="+name);
        System.out.println("wpc.age="+age);
        System.out.println("wpc.sex="+sex);
    }
    //可以通过get,set方法注入属性值
    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;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}
 

原文地址:https://www.cnblogs.com/wu-fm/p/8886199.html

时间: 2024-10-09 21:36:41

main的 启动和配置文件的读取的相关文章

Linux下程序启动之后的初始化---检查配置文件及读取日志配置项的值

概述 最近,我对本开发组的几位新员工所编写的程序进行了代码走查,发现他们的代码都有一个共同的问题:缺少必要的初始化.在本文中,我将详细介绍程序在启动时所必须要进行的初始化操作,并用实际的C代码予以说明. 对于一般的程序来说,在启动时所必须要进行的初始化操作有两个:检查配置文件及读取日志配置项.对于检查配置文件,主要检查配置文件是否是规定的文件类型(后缀是否正确)及是否存放在了规定的目录下(一般存放在当前用户的etc目录下):对于读取日志配置项,主要将写日志文件相关的参数(如日志级别.日志文件最大

jdbc基础 (二) 从配置文件中读取连接数据库

上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接获取.释放资源的代码都是相同的,为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装起来.同时,为了提高工具类的灵活性,可以将数据库的驱动.url.用户名.密码等信息以键值对的形式存放在properties文件中,工具类初始化时从配置文件中读取所要连接数据库的信息.当需要更改连接的数据库时,只需要更改配置文件即可,而不必改写工具类的代码. 下面

System.ConfigurationManager类用于对配置文件的读取

http://blog.csdn.net/ligenyingsr/article/details/54095986 System.ConfigurationManager类用于对配置文件的读取.其具有的成员如下: 一.AppSettings AppSetting是最简单的配置节,读写非常简单. 名称 说明 AppSettings 获取当前应用程序默认配置的 AppSettingsSection 数据 ConnectionStrings 获取当前应用程序默认配置的 ConnectionString

Linux启动初始化配置文件

Linux启动初始化配置文件(1)/etc/profile 登录时,会执行. 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. (2)/ect/bashrc Ubuntu没有此文件,与之对应的是/ect/bash.bashrc bash.bashrc 是交互式shell的初始化文件. (3)~/.profile 某个用户读取的配置. 若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~ /.bash_login,若前两者不存在,读取~ /.prof

配置文件的读取添加webconfig

webconfig.xml的配置文件内容挺丰富的,在这篇文章里笔者只对AppSettings这个节点进行配置文件读取和添加 public class ConfigurationRef { /// <summary> /// 根据键值获取配置文件 /// </summary> /// <param name="key">键值</param> /// <returns></returns> public static

PHPCMS配置文件的读取

--------------------------------------------------------------------------------------------------- PHPCMS的入口文件index.php里的代码较少,主要做了三件事,如下: //1.定义PHPCMS根目录(入口文件所在目录),PHPCMS_PATH全局可用 define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR) //2.引入框架

Springboot 之 自定义配置文件及读取配置文件

本文章来自[知识林] 读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心配置文件application.properties内容如下: server.port=9090 test.msg=Hello World Springboot! 使用@Value方式(常用): @RestController public class WebControlle

配置文件通过读取json方式读取

json文件 { "mysql":{ "hosts":"localhost", "user":"root", "password":"admin", "port":3306, "dbname":"jfg", "chart":"utf-8" }, "redis&

IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在yourfile.json文件中保存了如下信息: { "user_message":{ "name":"lowman", "age":"14", }, "database":{ "USE