1、代码分层:
* controller(请求处理层):负责与界面数据进行交互处理。
* service(业务逻辑层):负责业务逻辑相关处理
* DAO(数据持久层):负责数据持久化操作,DAO的全称是Data Access Object,多存储在数据库中,但是也可以通过IO流存放在电脑硬盘的某个文件中。这样就实现了代码的持久性,不会造成数据的丢失。
*调用关系: controller ----(调用)---> service -----(调用)----> DAO
2、APP类中的init()方法:
-load("book", "BookView");将各个对应包下的fxml文件在初始化阶段进行加载
//load()方法体
private void load(String module, String name){
try {
ViewManager.getInstance().put(
name,
FXMLLoader.load(getClass().getResource("/com/bjpowernode/module/" + module + "/" + name + ".fxml"))
);
preloaderNotify();
} catch (IOException e) {
e.printStackTrace();
}
}
3、用户数据的初始化
//定义四个显示的列
@FXML
private TableView<User> userTableView;
@FXML
private TableColumn<User, String> c1;
@FXML
private TableColumn<User, String> c2;
@FXML
private TableColumn<User, String> c3;
@FXML
private TableColumn<User, String> c4;
//ObservableList是可以观察的链表,即将user.add()中的对象数据实现与界面的绑定,可以在界面上显示其数据
ObservableList<User> users = FXCollections.observableArrayList();
@Override
public void initialize(URL location, ResourceBundle resources) {
users.add(new User(1, "张三", "正常", new BigDecimal(("100"))));
users.add(new User(2, "李四", "正常", new BigDecimal(("100"))));
users.add(new User(3, "王五", "正常", new BigDecimal(("100"))));
//第一列显示:id
c1.setCellValueFactory(new PropertyValueFactory<>("id"));
//第二列显示:name
c2.setCellValueFactory(new PropertyValueFactory<>("name"));
//第三列显示:money
c3.setCellValueFactory(new PropertyValueFactory<>("money"));
//第四列显示:status 状态
c4.setCellValueFactory(new PropertyValueFactory<>("status"));
//将java中的数据实现与界面的连接,将list的users数据传到的前台界面显示
userTableView.setItems(users);
}