enhao's Notebook

Later equals never


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 链接

  • 搜索

03 Spring Boot 之自动配置

发表于 2018-08-11 | 分类于 Spring Boot | | 阅读次数:
字数统计: 1,794 | 阅读时长 ≈ 9

我们可以在application.properties/application.yml文件中或通过命令行指定各种的属性。可以配置的属性见官方参考文档:Common application porperties。

阅读全文 »

02 Spring Boot 之配置文件

发表于 2018-08-07 | 分类于 Spring Boot | | 阅读次数:
字数统计: 1,804 | 阅读时长 ≈ 7

1 Spring Boot 配置文件

Spring Boot 使用一个全局的配置文件。配置文件有两种类型:application.properties或者application.yml。配置文件放置在src/main/resources目录下。配置文件名是固定的。

配置文件的作用:修改 Spring Boot 自动配置的默认值。

阅读全文 »

01 Spring Boot 之HelloWorld

发表于 2018-08-05 | 分类于 Spring Boot | | 阅读次数:
字数统计: 1,244 | 阅读时长 ≈ 5

1 Spring Boot 简介

Spring Boot是用来简化Spring 应用的开发,约定大于配置的原则,去繁为简。Spring Boot 通过整合Spring 的整个技术栈,来完成和简化企业级的开发。

Spring Boot使用嵌入式的Servlet容器,应用无需打成war包。

Spring Boot的启动器starters,可以进行自动的依赖管理和版本控制。

Spring Boot包含了大量的自动配置。也可以修改默认值。无需配置xml,无代码生成。

Spring Boot有准生产环境的运行时应用监控。

阅读全文 »

04 git flow工作流

发表于 2018-07-29 | 分类于 Git | | 阅读次数:
字数统计: 965 | 阅读时长 ≈ 4

1 git flow 工作流

git flow

Git Flow 定义了五种分支标准:

主要分支(长期分支):

  • master:主分支

  • develop:开发分支

    来源:master分支。

辅助分支:

  • feature:功能分支

    来源:develop分支。

    去向:合并回develop分支,并删除该feature分支。

  • hotfix:热修复分支

    来源:master分支。

    去向:合并回master分支和develop分支,并删除该hotfix分支。

  • release:预发布分支

    来源:develop分支。

    去向:合并回master分支和develop分支,并删掉该release分支。

阅读全文 »

03 github

发表于 2018-07-28 | 分类于 Git | | 阅读次数:
字数统计: 667 | 阅读时长 ≈ 3

1 使用github作为远程库

零、【在github上创建一个远程仓库】:略

一、【创建远程库地址别名】:

[查看当前所有远程地址别名]:

1
git remote -v

[创建远程仓库地址别名]:

1
git remote add [别名] [远程地址]

例如:git remote add origin https://github.com/liangenhao/test.git

阅读全文 »

02 git的基本原理

发表于 2018-07-27 | 分类于 Git | | 阅读次数:
字数统计: 298 | 阅读时长 ≈ 1

1 哈希

哈希是一个系列的加密算法。各个不同的哈希算法虽然加密强度不同, 但是有以下 几个共同点:

  1. 不管输入数据的数据量有多大,输入同一个哈希算法,得到的加密结果的长度固定。
  2. 哈希算法确定,输入数据确定,输出数据能够保证不变。
  3. 哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很大。
  4. 哈希算法不可逆。

git底层采用的是SHA-1算法。

阅读全文 »

01 git

发表于 2018-07-26 | 分类于 Git | | 阅读次数:
字数统计: 1,292 | 阅读时长 ≈ 5

1 git的结构

git结构

阅读全文 »

06 Spring 注解驱动开发之Web开发

发表于 2018-06-16 | 分类于 Spring Boot | | 阅读次数:
字数统计: 1,698 | 阅读时长 ≈ 7

在 Servlet3.0 之前,使用web的三大组件:servlet、filter、listener都需要在web.xml中进行注册配置。

在 Servlet3.0 标准发布之后,提供了注解的支持,异步处理的支持和可插拔的插件的支持。

Tomcat7.0以上的版本才支持Servlet3.0标准。

阅读全文 »

05 Spring 注解驱动开发之AOP

发表于 2018-06-10 | 分类于 Spring Boot | | 阅读次数:
字数统计: 647 | 阅读时长 ≈ 3

1 AOP 示例

示例:编写切面用来记录日志。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@Component
@Aspect
public class LogAspects {

//抽取公共的切入点表达式
//1、本类引用
//2、其他的切面引用
@Pointcut("execution(com.enhao.spring.annotation.service.*.*(..))")
public void pointCut(){};

//@Before在目标方法之前切入;切入点表达式(指定在哪个方法切入)
@Before("pointCut()")
public void logStart(JoinPoint joinPoint){
Object[] args = joinPoint.getArgs();
System.out.println(""+joinPoint.getSignature().getName()+"运行。。。@Before:参数列表是:{"+Arrays.asList(args)+"}");
}

@After("com.atguigu.aop.LogAspects.pointCut()")
public void logEnd(JoinPoint joinPoint){
System.out.println(""+joinPoint.getSignature().getName()+"结束。。。@After");
}

//JoinPoint一定要出现在参数表的第一位
@AfterReturning(value="pointCut()",returning="result")
public void logReturn(JoinPoint joinPoint,Object result){
System.out.println(""+joinPoint.getSignature().getName()+"正常返回。。。@AfterReturning:运行结果:{"+result+"}");
}

@AfterThrowing(value="pointCut()",throwing="exception")
public void logException(JoinPoint joinPoint,Exception exception){
System.out.println(""+joinPoint.getSignature().getName()+"异常。。。异常信息:{"+exception+"}");
}
}

@Aspect注解告知标注的类是切面类。

开启基于注解的AOP模式:(这个一定要加的)

一、在xml配置方式中:

1
<aop:aspectj-autoproxy />

二、使用注解的配置方式,在配置类上标注@EnableAspectJAutoProxy注解。

1
2
3
4
@Configuration
@EnableAspectJAutoProxy
public class MainConfigOfAOP {
}

2 声明式事务示例

一、【需要导入的相关依赖】:

包括:数据源、数据库驱动、Spring-jdbc。

二、【配置数据源】:

JdbcTemplate:Spring提供的简化数据库操作的工具。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Configuration
public class TxConfig {

@Bean
public DataSource dataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setUser("root");
dataSource.setPassword("root");
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
return dataSource;
}

@Bean
public JdbcTemplate jdbcTemplate() throws PropertyVetoException {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource());
return jdbcTemplate;
}
}

三、【编写Dao和Service】:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Repository
public class PersonDaoImpl implements PersonDao {

@Autowired
private JdbcTemplate jdbcTemplate;

@Override
public void insert() {
String sql = "insert into person (name, age) value (?, ?)";
jdbcTemplate.update(sql, "enhao", 18);
}
}

@Service("personService")
public class PersonServiceImpl implements PersonService {

@Autowired
private PersonDao personDao;

@Transactional
@Override
public void insert() {
personDao.insert();
}
}

在Service层给方法加上事务。

四、【开启注解的事务支持】:

在配置类上标注:@EnableTransactionManagement。等价于xml配置:<tx:annotation-driven />。

在配置类中配置事务管理器transactionManager:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@EnableTransactionManagement // 开启注解事务支持
@ComponentScan("com.enhao.spring.annotation")
@Configuration
public class TxConfig {

@Bean
public DataSource dataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setUser("root");
dataSource.setPassword("root");
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
return dataSource;
}

@Bean
public JdbcTemplate jdbcTemplate() throws PropertyVetoException {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource());
return jdbcTemplate;
}

@Bean // 配置事务管理器
public PlatformTransactionManager transactionManager() throws PropertyVetoException {
return new DataSourceTransactionManager(dataSource());
}
}

04 Spring 注解驱动开发之自动装配

发表于 2018-06-03 | 分类于 Spring Boot | | 阅读次数:
字数统计: 1,361 | 阅读时长 ≈ 6

何为自动装配:Spring 利用依赖注入(DI),完成对容器中对各个组件的依赖关系的赋值。

阅读全文 »
123

梁恩浩

A Java Developer

30 日志
5 分类
11 标签
GitHub Weibo
© 2020 梁恩浩
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
访问人数 人 总访问量 次
0%