吴欣赏

吴欣赏 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

吴欣赏 关注了用户 · 2020-11-09

BolunWu @bolunwu

关注 3

吴欣赏 发布了文章 · 2020-08-31

SpringBoot注解

@Component(@Service,@Controller)
是Sring中用于描述Bean类的一个注解,用于告诉Spring这个类的实例由Spring创建和管理,默认会将对象存储到池(Bean池)中
@Component(“softCache”)描述bean时,给bean起名字为softCache
@SpringBootTest
注解用于告诉Spring框架,次测试类交给Spring管理

@Autowired
注解描述属性,用于告诉Spring框架要为此属性注入一个值

@Lazy
注解同于描述类,其目的是告诉谁陪你过框架此类支持延迟加载,通常会配合单例作用域使用,默认是true--value==true

@Scope
是Spring中用于定义Bean对象作用域的一个注解,常用值有:
1、singleton(整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理)
2、prototype(每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。)等。

@SpringBootApplication
注解描述的类是项目的启动入口
JVM参数:跟踪类加载:
-XX:+TraceClassLoading

@PostConstruct
注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行(是对象创建以后的初始化)

@PreDestroy
注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)

@Param
注解描述参数

@Qualifier
注解描述的属性,参数或方法,可以按照指定规则为属性赋值(DI),此注解必须配合@Autowired注解使用

@Mapper
表示这个类属于数据层是由MyBatis框架中定义的一个描述数据层接口的的注解(所有的注解只起到一个描述性的作用),用于告诉Spring框架此接口的实现由mybatis创建,并将其实现类对象存储到spring容器.

@Controller
表示这个类属于控制层

@RequestMapping
后加地址

@PathVariable("...")
后面加路径的变量,如果该路径只有一个变量,可以只写该注解

查看原文

赞 2 收藏 1 评论 0

吴欣赏 发布了文章 · 2020-08-27

SpringBoot

一.项目启动过程分析:

SpringBoot项目在启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描指定包以及子包中的类进行加载,然后检测类上是否有Spring框架中指定的注解描述,有的话,则将类交给Spring框架中的BeanFactroy工厂接口的实现类对象,此工厂对象会基于反射创建Bean的实例,假如指定了生命周期方法,还会调用生命周期方法,当实例创建了以后,Spring框架还会基于类的作用域描述,将实例存储到不同作用域的容器中.

二.Spring框架中的注解:

@SpringBootApplication注解描述的类为项目的启动入口
@Component是Spring中用于描述Bean类的一个注解。
@SpringBootTest 注解用于告诉spring框架,此测试类交给spring管理。
@Autowired注解描述属性时,用于告诉spring框架要为此属性注入一个值.
@Lazy注解用于描述类,其目的是告诉spring框架此类支持延迟加载,通常会配合单例作用域使用,

默认是true。

@Scope 是Spring中用于定义Bean对象作用域的一个注解,其常用的值有

singleton(整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理),prototype(每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。)等。

@PostConstruct 注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行(是对象创建以后的初始化)。
@PreDestroy 注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)。

三.Spring框架管理Bean对象的优势:

Spring框架可以为由它管理的对象(Bean)提供懒加载策略(@Lazy),作用域(@Scope),生命周期方法(@PostConstruct,@PreDestroy),以实现对象对系统的有效使用,同时,Spring框架还可以基于对象和对象之间的依赖关系,降低对象和对象之间的耦合性,提高程序的可维护性和可扩展性.
查看原文

赞 0 收藏 0 评论 0

吴欣赏 发布了文章 · 2020-08-27

如何理解Spring Boot技术!

一.Spring Boot 背景分析
现在软件生态应用已经形成一定的规模,系统架构证在从单体架构,分布式架构,跨越到微服务架构,随着整个架构体系的变化,企业对技术的要求也在变化,现在企业更注重技术的开箱即用,更注重技术在生态圈中的深度融合,更注重轻量级运维,由此spring boot诞生.
二.Spring Boot 要解决什么问题
该框架使用的定的注解方式来进行配置,从而使开发人员不在需要大量的xml配置,不在需要大量的手动依赖管理.
三.Spring Boot 有哪些核心的关键特性
1.起步依赖
2.自动配置
3.健康检查
4.嵌入式服务
四.总结
spring boot框架就是要基于快速构建理念,基于约定大于配置,实现技术的开箱即用,以提高开发效率.

查看原文

赞 0 收藏 0 评论 0

吴欣赏 关注了用户 · 2020-08-25

Jason @jason_5f0dbb9eaae42

以终为始,闭环迭代,持续提高。

关注 3352

吴欣赏 关注了标签 · 2020-08-25

erp

Enterprise Resource Planning 企業資源規劃

关注 2844

吴欣赏 关注了标签 · 2020-08-25

spring

Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。

关注 28448

吴欣赏 关注了标签 · 2020-08-25

关注 3666

吴欣赏 关注了标签 · 2020-08-25

关注 3585

吴欣赏 关注了标签 · 2020-08-25

java

Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

Java编程语言的风格十分接近 C++ 语言。继承了 C++ 语言面向对象技术的核心,Java舍弃了 C++ 语言中容易引起错误的指針,改以引用取代,同时卸载原 C++ 与原来运算符重载,也卸载多重继承特性,改用接口取代,增加垃圾回收器功能。在 Java SE 1.5 版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对 Java 语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。

版本历史

重要版本号版本代号发布日期
JDK 1.01996 年 1 月 23 日
JDK 1.11997 年 2 月 19 日
J2SE 1.2Playground1998 年 12 月 8 日
J2SE 1.3Kestrel2000 年 5 月 8 日
J2SE 1.4Merlin2002 年 2 月 6 日
J2SE 5.0 (1.5.0)Tiger2004 年 9 月 30 日
Java SE 6Mustang2006 年 11 月 11 日
Java SE 7Dolphin2011 年 7 月 28 日
Java SE 8JSR 3372014 年 3 月 18 日
最新发布的稳定版本:
Java Standard Edition 8 Update 11 (1.8.0_11) - (July 15, 2014)
Java Standard Edition 7 Update 65 (1.7.0_65) - (July 15, 2014)

更详细的版本更新查看 J2SE Code NamesJava version history 维基页面

新手帮助

不知道如何开始写你的第一个 Java 程序?查看 Oracle 的 Java 上手文档

在你遇到问题提问之前,可以先在站内搜索一下关键词,看是否已经存在你想提问的内容。

命名规范

Java 程序应遵循以下的 命名规则,以增加可读性,同时降低偶然误差的概率。遵循这些命名规范,可以让别人更容易理解你的代码。

  • 类型名(类,接口,枚举等)应以大写字母开始,同时大写化后续每个单词的首字母。例如:StringThreadLocaland NullPointerException。这就是著名的帕斯卡命名法。
  • 方法名 应该是驼峰式,即以小写字母开头,同时大写化后续每个单词的首字母。例如:indexOfprintStackTraceinterrupt
  • 字段名 同样是驼峰式,和方法名一样。
  • 常量表达式的名称static final 不可变对象)应该全大写,同时用下划线分隔每个单词。例如:YELLOWDO_NOTHING_ON_CLOSE。这个规范也适用于一个枚举类的值。然而,static final 引用的非不可变对象应该是驼峰式。

Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

编译并调用:

javac -d . HelloWorld.java
java -cp . HelloWorld

Java 的源代码会被编译成可被 Java 命令执行的中间形式(用于 Java 虚拟机的字节代码指令)。

可用的 IDE

学习资源

常见的问题

下面是一些 SegmentFault 上在 Java 方面经常被人问到的问题:

(待补充)

关注 134323

认证与成就

  • 获得 2 次点赞
  • 获得 1 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 1 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2020-08-25
个人主页被 165 人浏览