# Jboot 1.x 升级到 Jboot 2.x 教程

## 类名修改

- StrUtils -> StrUtil
- FileUtils -> FileUtil
- ClassKits -> ClassUtil
- EncryptCookieUtils -> CookieUtil
- RequestUtils -> RequestUtil
- ArrayUtils -> ArrayUtil
- JbootHttpKit -> HttpUtil
- @JBootRPCService -> 修改为 @RPCInject 和 @RPCBean

## 方法修改

`Jboot.me().getXXX` -> `Jboot.getXXX`

**例如：**

```java
JbootCache cache = Jboot.me().getCache();
```
修改为：
```java
JbootCache cache = Jboot.getCache();
```
其他同理。

## 代码生成器生成的代码

- 删除代码生成器生成的 Service类的 join 系列方法和 keep 方法
- 删除代码生成器生成的ServiceImpl的@Singleton注解
- 修改代码生成器生成的 Service类的 Save和SaveOrUpdate方法，修改其返回内容为 ： `Object`

**例如：**
```
public boolean save()
```
修改为

```java
public Object save()
```

同时：
```
public boolean saveOrUpdate()
```
修改为

```java
public Object saveOrUpdate()
```

备注：返回的 `Object` 是 Model 的主键值（id）。这么修改的目的是为了在 分布式的情况下。通过 RPC 调用能够直接返回主键。

## 修改 JbootAppListener 的方法名

- `onJfinalConstantConfig` 修改为： `onConstantConfig`
- `onJfinalRouteConfig` 修改为： `onRouteConfig`
- `onJfinalEngineConfig` 修改为：`onEngineConfig`
- `onJfinalPluginConfig` 修改为：`onPluginConfig`
- `onJFinalStartBefore` 修改为：`onStartBefore`
- `onJFinalStart` 修改为：`onStart`
- `onJFinalStop` 修改为：`onStop`

## 其他的错误

其他错误，都是 **修改了包名**，解决方案是：删除错误的 import ，然后重新导入即可。

**例如：**

注解 `javax.inject.Inject` 修改为了 `com.jfinal.aop.Inject` 等等。
