构造方法

spring学习之Bean

我们两清 提交于 2020-01-25 05:51:44
Bean的实例化: 构造器实例化 静态工厂实例化 实例工厂实例化 Bean的作用域(常用两种): singleton:spring容器只会存在一个共享的Bean实例,只要id与该id属性相匹配,就会返回同一个Bean实例。适用于无会话状态(如Dao组件、Service组件)。 prototype:Spring容器会为每个对该Bean的请求都创建一个新的实例,适用于需要保持会话状态的Bean。 Bean的生命周期: Bean的装配(依赖关系注入)方式: 基于XML的装配 设值注入:<property>要求Bean类提供一个默认无参构造方法;并且必须腰围需要注入的属性提供setter方法。 构造注入:<constructor-arg>来定义构造方法的参数,可以使用其value属性来设置改参数的值。 基于Annotation(注解)的装配: @component:泛化表示一个Bean(可以代替2,3,4,但是用2,3,4,更准确) @Repository:用于数据访问层(Dao层)的表示 @Service:用于业务层(Service层) @Controller:用在控制层(Controller层) @Autowired:用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应注解完成Bean的自动装配,默认按照Bean类型装配 @Resource

『JavaSE』基础IO

守給你的承諾、 提交于 2020-01-25 05:35:01
本篇博客主要介绍Java中基础IO的基本使用。 什么是文件? 在介绍基础IO之前,我们先来理解一下什么是文件? 文件可以简单的理解成,在 外设硬盘上保存数据的一种方式 ; 文件一共可以由 两部分组成 : 属性 (文件大小、文件名、文件类型等)和 内容 (文件中放了什么); File文件操作类 在 java.io 包中, 用File类可以对文件进行操作(创建、删除、获取属性信息等) 。 常用构造方法 方法 说明 public File(String pathname) 创建指定路径文件对象 public File(String parent, String child) 同上,但可指明父路径和子路径 基本文件操作 方法 说明 public boolean exists() 测试指定路径文件或目录是否存在 public boolean isDirectory() 判断一个文件是目录 public boolean isFile() 判断是否是文件 public boolean delete() 删除文件 public boolean createNewFile() throws IOException 创建一个新文件 下面看代码演示 : import org . junit . Assert ; import org . junit . Test ; import java . io .

@PostConstruct 初使化

a 夏天 提交于 2020-01-25 05:34:40
此注解属于java包下 javax.annotation.PostConstruct 通常都是一些初始化的操作,并且只会被服务器调用一次,但初始化可能依赖于注入的其他组件,所以要等依赖全部加载完再执行。 @Service public class BeanA { @Autowired private BeanB beanB; public BeanA() { System.out.println("这是aaaaaa 的构造方法"); } @PostConstruct private void chushihua() { System.out.println("这是aaaaaa 的 PostConstruct 方法"); beanB.testB(); } public void testA() { System.out.println("这是aaaaaa 的 testA 方法"); } } @Service public class BeanB { public BeanB() { System.out.println("这是bbbbbb 的 构造方法"); } @PostConstruct private void chushihua() { System.out.println("这是bbbbbb 的PostConstruct 方法"); } void testB() {

Python自学面向对象章节有感

时间秒杀一切 提交于 2020-01-24 23:41:04
Python面向对象程序设计有感 有学到面对对象中的对象是指客观世界中存在的对象,世间万物全可以是对象。概括上说,面向对象技术是一种从组织结构上模拟客观世界的方法。我的主观感受上并没有很好的理解这种编程思想,也没有明确的感受到它与面向过程编程的区别,这或许是因为我才接触编程半年,在后续的学习中,我会继续探索。 1.面向对象概述 (1)对象 对象分为静态部分和动态部分,静态部分被称为“属性”指对象本身的属性,例如人的性别、身高,动态部分指对象的行为,例如人可以走路、跑步。 具有相同属性和行为的一类实体被称为类,类是封装对象的属性和行为的载体。我在之后的学习中明白类是极为重要的,不知道其他语言是不是也要类的概率…… 面向对象程序设计有封装、继承和多态三大基本特征。区别如下: 特征 概念 作用 封装 指用类作为载体将对象的属性和行为封装起来 是面向对象程序设计的核心思维,保证了类内部数据的完整性 继承 子类复用父类的属性和行为的同时又有特有的属性和行为 是实现重复利用的重要手段 多态 将父类对象应用于子类的特征 子类继承父类的勇士,也具备自己的特征并且能够实现不用的效果 在后续的学习中,我初步了解了封装、继承以及多态的意思和效果,挺神奇的…… 2.类的定义和使用 定义类需要使用关键字class(为什么是class?),语法是 class classname: ,接着是应用语法 name

File类的三种构造方法

狂风中的少年 提交于 2020-01-24 19:34:11
第一种,String public static void show01(){ File f1=new File("C:\\Users\\Administrator"); System.out.println(f1);//重写Object类的toString方法 File f2=new File("C:\\Users\\Administrator\\a1.txt"); System.out.println(f2);//重写Object类的toString方法 } 第二种,String+String public static void show02(String parent,String child){ // File File file=new File(parent,child); System.out.println(file); } ``//调用方法 show02("d:\\","a.txt"); 第三种,代参构造File+String public static void show03(){ File parent =new File("c:\\"); File file=new File(parent,"hello.java");//第一个参数另一个file类 System.out.println(file); } 来源: CSDN 作者: 敌人派 链接: https

Ecilpse中构造方法和成对的getXxx()和SetXxx()方法自动生成

故事扮演 提交于 2020-01-24 04:49:37
创建类,写上成员变量之后 无参构造方法: 代码区右键--source--Generate_Constructors from Superclass 快捷键:alt+shift+s+c 带参构造方法: 代码区右键--source--Generate_Constructors using fields ​​​​快捷键:alt+shift+s+c 成对的getXxx()和SetXxx()方法: 代码区右键--source--Generate Getters and Setters... 快捷键:alt+shift+s+c 1.无参构造方法: 代码区右键--source--Generate_Constructors from Superclass 图上Generate_Constructors from Superclass中c下面有个下划线,快捷键是alt+shift+s+c 它的父类是object,点击Generate自动帮你生成无参构造方法 2.带参构造方法: 代码区右键--source--Generate_Constructors using fields 图上Generate_Constructors uisng Fields中o下面有个下划线,快捷键是alt+shift+s+o 点击Generate自动生成 3.成对的getXxx()和SetXxx()方法: 代码区右键-

了解Java程序之面向对象

心已入冬 提交于 2020-01-23 19:52:57
面向对象 构造方法 给成员变量赋值的方法: 通过setxxx()/getxxx(); 通过构造方法赋值; 构造方法的格式: 1)构造方法的方法明和类名一致 ; 2)没有具体返回值; 3)并且连void都没有; 注意:没有提供无参构造方法,系统会默认提供;建议在标准类的时候,永远给出无参构造方法; //示例类 class Demo { //成员变量 private String name ; private int age ; //无参构造方法 public Demo ( ) { System . out . out . println ( "无参构造方法执行了!" ) ; } //有参构造方法 public Demo ( String name , int age ) { this . name = name ; this . age = age ; } //成员方法 public void print ( ) { System . out . println ( "姓名:" + name + ",年龄:" + age ) ; } } //测试类 class DemoTest { public static void main ( String [ ] args ) { Demo d = new Demo ( ) ; //创建一个Demo类的对象,并赋值于d System .

javaweb-codereview 学习记录-4

泪湿孤枕 提交于 2020-01-23 19:17:19
反射 java .lang.Runtime 之前在p牛的知识星球中也学过反射机制调用Runtime来执行命令时需要用getruntime来返回Runtime类的实例,因为Runtime类设计是单例模式,并且该类的构造方法是私有的,因此无法直接通过newinstance来实例化该类,因此除了通过getRuntime来返回类的实例来调用该类的方法外,还可以通过反射直接获取该类的构造方法并且设置访问属性来实例化该类。 import sun.misc.IOUtils; import java.io.InputStream; import java.lang.reflect.Constructor; import java.lang.reflect.Method; public class reflect_runtime { private static Object cmd="calc" ; public static void main (String args[]) throws Exception { // 获取Runtime类对象 Class runtimeClass1 = Class.forName("java.lang.Runtime" ); // 获取构造方法 Constructor constructor = runtimeClass1

Java使用Builder模式构造实例

时光怂恿深爱的人放手 提交于 2020-01-23 18:08:32
构建Java实例通常有几种方式,1)通过构造方法创建,2)通过JavaBeans模式的getter/setter构建。一般情况下这2种方式没有什么问题,但是当参数非常多的时候,就会不够友好。 1)通过构造方法创建 当成员非常多的时候,会导致构造函数参数非常多,甚至部分成员是可选的时候,将会导致多个构造方法,并且这些方法非常难理解。 2)通过JavaBeans模式的getter/setter构建 这种方式缺少构造参数检查,并且使用setter导致了成员的可变性 使用Builder模式可以解决以上的问题 1)MessageBag实例无法被直接构建,必须通过MessageBag.Builder.build()方法构建 2)Builder的构造方法为实例的必须成员,其余方法设置可选成员 3)Builder方法可以进行成员验证,如果成员不符合规则,可以抛出IllegalArgumentException public class MessageBag { //required private byte type; //optional private String message; private String imageUrl; private MessageBag(Builder builder) { type = builder.type; message = builder