• Home

  • 归档

  • 分类

  • 标签
Keep Coding
Keep Coding

03月
01
Quartz

Quartz 的学习和使用

发表于 2017-03-01 • 分类于 Quartz

分布式 Quartz 的配置与 Spring 的集成使用。

初始化数据库

运行下面的(MySQL)数据库脚本,创建数据库表(先参照 quartz.properties 文件中 org.quartz.dataSource.myDS.URL属性配置的数据库名称创建数据库,这里我的数据库名称即为 quartz_scheduler)

其他数据库脚本见官网源代码(http://www.quartz-scheduler.org/downloads/)中 quartz-xxx-distribution\quartz-xxx\docs\dbTables 文件夹。

阅读全文 »
02月
25
Liquibase

Liquibase 的学习和使用

发表于 2017-02-25 • 分类于 Liquibase

官网

使用 LiquiBase 管理数据库的迁移 - 推酷

在 Web 项目中使用 LiquiBase 实现数据库自动更新

让开发自动化: 实现自动化数据库迁移

引入依赖(其他依赖根据需要引入)

1
2
3
4
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
阅读全文 »
01月
20
Spring

Spring Security 的学习和使用

发表于 2017-01-20 • 分类于 Spring

Spring Security 的学习和使用


Elim 的博客

Spring Security Reference

mkyong.com - Spring Security Tutorial

spring security 只要熟悉每个 filter 的作用和顺序

Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。

阅读全文 »
01月
10
Hibernate

Hibernate 的学习和使用

发表于 2017-01-10 • 分类于 Hibernate

Hibernate之mappedBy

阅读全文 »
01月
10
Spring

Spring 的学习和使用

发表于 2017-01-10 • 分类于 Spring

2 装配 Bean

2.1 Spring 配置的可选方案

Spring 容器负责创建应用程序中的 Bean 并通过 DI 来协调这些对象之间的关系.
但是,作为开发人员,你需要告诉 Sprng 要创建哪些 Bean 并且如何将其装配在一起.
当描述 Bean 如何进行装配时,Spring 具有非常大的灵活性,它提供了三种主要的装配机制:

  • 自动化装配
  • 基于 Java 的显式配置
  • 基于 XML 的显式配置

2.2 自动化装配 Bean

Spring 从两个角度来实现自动化装配:

  • 组建扫描(component scanning): Spring 会自动发现应用上下文中所创建的 Bean.
  • 自动装配(autowiring): Spring 自动满足 Bean 之间的依赖.

2.2.1 创建可被发现的 Bean

在类上添加 @Component 注解表明该类会作为组件类,并告知 Spring 要为这个类
创建 Bean.不过组件的扫描默认是不启用的.我们还需要显式配置一下 Spring,从而命令它去寻找带有
@Component 注解的类.Spring 中可以使用 @ComponentScan 注解启用组件扫描.
如果没有其他配置的话, @ComponentScan 默认会扫描与配置类所在包及该包下的所有子包,
寻找带有 @Component 注解的类,并且在 Spring 种为其创建一个 Bean.
如果使用 XML 来启用组件扫描的话,那么可以使用 Spring context 命名空间的
<context:component-scan> 元素.

阅读全文 »
01月
04
Java

Java 动态代理

发表于 2017-01-04 • 分类于 Java

代理模式

参考:《JAVA 程序性能优化》

将代理类用于实现延迟加载,可以有效地提升系统的启动速度。

延迟加载的核心思想是:如果当前并没有使用这个组件,则不需要真正地初始化它,使用一个代理对象替代它的原有位置,只要在真正需要使用的时候,才对它进行加载。

阅读全文 »
01月
02
Java

Java 编程语言学习

发表于 2017-01-02 • 分类于 Java

https://docs.oracle.com/javase/8/

https://docs.oracle.com/javase/8/docs/

https://docs.oracle.com/javase/8/docs/api/

Java Tutorial

阅读全文 »
01月
02
Spring

Spring Data JPA native query with pagination

发表于 2017-01-02 • 分类于 Spring

MySQL

Spring Data JPA and native queries with pagination

Spring Data and Native Query with pagination

public interface UserRepository extends JpaRepository<User, Long> {
    @Query(value = "select * from users order by id desc \n#pageable\n",
            countQuery = "select count(*) from users",
            nativeQuery = true)
    Page<User> findAllRandom(Pageable pageable);
}

如果 pageable 对象中有排序,这里可以去掉 order by 排序。
countQuery 可以省略。

H2

H2 数据库中要将 \n#pageable\n 改成 \n-- #pageable\n 形式。

Oracle

Spring Data Jpa本地查询(带分页方式)

阅读全文 »
01月
01
Linux

Ubuntu 系统的开发环境安装和配置

发表于 2017-01-01 • 分类于 Linux

安装 Ubuntu 16.04 后要做的事

更新源

1
2
3
$ cd /etc/apt
$ sudo cp /etc/apt/source.list /etc/apt/source.list.bak
$ sudo vim /etc/apt/source.list

删除原来的列表内容,添加如下内容:

1
2
3
4
5
6
7
8
9
10
deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse

更新源

1
2
$ sudo apt-get update
$ sudo apt-get upgrade
阅读全文 »
11月
28
Git

Git 使用问题记录

发表于 2016-11-28 • 分类于 Git

在使用 git 的过程中由于误操作,导致从本地 master 分支 merge 代码到当前分支失败,虽然当前分支和 master 分支代码不同步,但是仍然提示 Already up-to-date。

参考 StackOverflow 上面的解答:

https://stackoverflow.com/questions/634546/git-merge-reports-already-up-to-date-though-there-is-a-difference

大体意思是说当前分支已经同本地 master 分支代码合并过了,并且本地 master 分支代码已经是最新的了。

这时可以使用 git reset --hard 命令将本地分支的代码回滚到以前某一个正确的版本,再配合 git push --force 命令将本地分支的修改强制同步到服务器上,不然服务器上的分支又会和回滚后的分支冲突:

1
2
git reset --hard <commit_id>
git push origin <branch> --force

<commit_id> :表示将要回滚到的当前分支的历史版本号。
<branch> :表示当前的本地分支名称。

git reset 时,–soft、–mixed、–hard 的区别:

git reset –soft:回退版本库中的信息,不会回退暂存区和工作区中的信息,如果想要重新提交,直接 commit 即可。

git reset –mixed:回退版本库和暂存区中的信息,不会回退工作区中的信息,如果想要重新提交,需要先 add 进暂存区,再 commit。

git reset –hard:同时回退版本库、暂存区、工作区中的信息。

阅读全文 »
1…5678
wuchao

72 日志
18 分类
Creative Commons

博客已萌萌哒运行(●'◡'●)ノ♥

© 2020 Keep Coding. 由 Hexo 强力驱动. Theme By Sagiri v0.0.4.

Made with by wuchao.