通过properties配置文件给类属性赋值呢?
举例:
1、首先我在src/main/resources文件夹下新建个company.properties文件,设置一些数据
ge.companyName=\u6210\u90FD\u683C\u667A\u7F51\u7EDC\u79D1\u6280\u6709\u9650\u516C\u53F8
ge.telphone=028-88594556
ge.lawPerson=\u4F55\u61A8\u950B
2、新建一个类,叫做CompanyBean
@ConfigurationProperties(prefix="ge") 注解给属性添加前缀,因为在properties文件中属性前面有前缀ge,后面的属性名要和类中的属性名一致对应
@PropertySource(value= {"classpath:company.properties"}) 引入配置文件
package com.ge.springboot.bean;
import java.io.Serializable;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="ge")
@PropertySource(value= {"classpath:company.properties"})
public class CompanyBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 4349552945449301902L;
/**
* 公司名称
*/
private String companyName;
/**
* 联系方式
*/
private String telphone;
/**
* 法人代表
*/
private String lawPerson;
public CompanyBean() {
super();
// TODO Auto-generated constructor stub
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getTelphone() {
return telphone;
}
public void setTelphone(String telphone) {
this.telphone = telphone;
}
public String getLawPerson() {
return lawPerson;
}
public void setLawPerson(String lawPerson) {
this.lawPerson = lawPerson;
}
@Override
public String toString() {
return "CompanyBean [companyName=" + companyName + ", telphone=" + telphone + ", lawPerson=" + lawPerson + "]";
}
}
3、如何使用呢?
比如我在表现层使用,只需要用这个类创建个属性,然后通过@Resource注解把它交给spring容器即可
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ge.springboot.bean.CompanyBean;
import com.ge.springboot.bean.UserBean;
@RequestMapping("/sysmag")
@Controller
public class FreeMarkerController {
@Resource
private CompanyBean companyBean;
@RequestMapping("/freemarker")
public String toFreemarkerPage(Model model,String userName) {
model.addAttribute("userName", userName);
model.addAttribute("companyBean", companyBean);
System.out.println(companyBean);
List<UserBean> users = new ArrayList<>();
UserBean user01 = new UserBean("张大麻子");
UserBean user02 = new UserBean("李四");
UserBean user03 = new UserBean("王五");
users.add(user01);
users.add(user02);
users.add(user03);
model.addAttribute("users", users);
return "freemarker";
}
}