Java企业级开发学习笔记

news2025/2/28 3:49:31

文章目录

  • 一、Spring
    • 1.1、Slay Dragon
    • 1.2、RescueDamselQuest

一、Spring

第一周写了两个小项目均使用了原始调用容器的方法
两个项目:<斩杀大龙与上路保卫战>
配一张文件位置图
文件位置图

1.1、Slay Dragon

BraveKnight

package net.sherry.spring.day01;

public class BraveKnight {
    private String name; //骑士姓名
    private SlayDragonQuest slayDragonQuest; //杀龙任务


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setSlayDragonQuest(SlayDragonQuest slayDragonQuest) {
        this.slayDragonQuest = slayDragonQuest;
    }
    public void embarkOnQuest(){
        System.out.print("召唤师["+ name + "]");// 勇士流明
        slayDragonQuest.embark();// 执行任务
    }
}

Slay Dragon Quest

package net.sherry.spring.day01;

public class SlayDragonQuest {
    public void embark(){
        System.out.println("Red team has slay the dragon");
    }
}

下面是调用方法

spring-config.xml
这个是下面两个方法所用的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--配置斩杀任务Bean-->
    <bean id="slayDragonQuest" class="net.sherry.spring.day01.SlayDragonQuest"/>
    <bean id="braveKnight" class="net.sherry.spring.day01.BraveKnight">
        <property name="name" value="姜承録"/>
        <property name="slayDragonQuest" ref="slayDragonQuest"/>
    </bean>
    <bean id="knight1" class="net.sherry.spring.day01.BraveKnight">
        <property name="name" value="Rookie"/>
        <property name="slayDragonQuest" ref="slayDragonQuest"/>
    </bean>
    <bean id="knight2" class="net.sherry.spring.day01.BraveKnight">
        <property name="name" value="JackeyLove"/>
        <property name="slayDragonQuest" ref="slayDragonQuest"/>
    </bean>

    <!--配置营救任务Bean-->
    <bean id="rescueDamselQuest" class="net.sherry.spring.day01.RescueDamselQuest"/>
    <!--配置营救Bean-->
    <bean id="rescueDamselKnight" class="net.sherry.spring.day01.RescuedamselKnight">
        <constructor-arg value="Ning" />
        <constructor-arg ref="rescueDamselQuest" />
    </bean>
</beans>

TestBraveKnightOld
这个是原始方法

package net.sherry.spring.day01;

import org.junit.Test;

public class TestBraveKnightOLd {
    @Test
    public void testBraveKnight(){
        // 创建一个斩杀对象
        SlayDragonQuest slayDragonQuest = new SlayDragonQuest();
        // 创建勇敢骑士对象
        BraveKnight braveKnight = new BraveKnight();
        //设置勇敢骑士属性
        braveKnight.setName("姜承録");
        braveKnight.setSlayDragonQuest(slayDragonQuest);
        //调用勇敢骑士执行任务方法
        braveKnight.embarkOnQuest();
    }
}

TestKnightNew
使用容器的方法

package net.sherry.spring.day01;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 功能:采用Spring容器测试勇敢骑士类
 * 作者:Sherry
 * 日期:2023年02月13日
 */
public class TestKnightNew {
    private ClassPathXmlApplicationContext context; // 基于类路径XML配置文件的应用容器(Bean工厂)

    @Before // 每次测试方法执行前都要执行的代码就放在此方法里
    public void init() {
        // 基于Spring配置文件创建应用容器
        context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");
        // 提示用户
        System.out.println("Spring应用容器已创建~");
    }

    @Test
    public void testBraveKnight() {
        try {
            // 根据名称从应用容器中获取勇敢骑士对象
            BraveKnight braveKnight = (BraveKnight) context.getBean("braveKnight");//BraveKnight
            // 勇敢骑士执行任务
            braveKnight.embarkOnQuest();
            BraveKnight knight1 = (BraveKnight) context.getBean("knight1");//BraveKnight
            // 勇敢骑士执行任务
            knight1.embarkOnQuest();
            BraveKnight knight2 = (BraveKnight) context.getBean("knight2");//BraveKnight
            // 勇敢骑士执行任务
            knight2.embarkOnQuest();
        }catch (Exception e){
            System.out.println("查无此人");
        }

    }

    @After // 每次测试方法执行后都要执行的代码就放在此方法里
    public void destroy() {
        // 关闭应用容器
        context.close();
        // 提示用户
        System.out.println("Spring应用容器已关闭~");
    }
}

1.2、RescueDamselQuest

上路保卫战
RescueDamselKnight

package net.sherry.spring.day01;

/**
 * 功能:
 * 作者:Sherry
 * 日期:2023/2/15
 */
public class RescuedamselKnight {
    private String name; //英雄名
    private RescueDamselQuest rescueDamselQuest; // 救援任务

    /**
     * 有参构造方法
     *
     * @param name
     * @param rescueDamselQuest
     */

    public RescuedamselKnight(String name, RescueDamselQuest rescueDamselQuest){
        this.name = name;
        this.rescueDamselQuest = rescueDamselQuest;
    }

    public void embarkOnQuest(){
        System.out.print("上路保卫者["+ name +"]" );
        rescueDamselQuest.embark();
    }
}

RescueDamselQuest

package net.sherry.spring.day01;

/**
 * 功能:
 * 作者:Sherry
 * 日期:2023/2/15
 */
public class RescueDamselQuest {
    public void embark(){
        System.out.println("执行营救任务……");
    }
}

TestRescueDamselKnightOld

package net.sherry.spring.day01;

import org.junit.Test;

/**
 * 功能:
 * 作者:Sherry
 * 日期:2023/2/15
 */
public class TestRescueDamselKnightOld {
    @Test
    public void testRescuedamselKnight(){
        // 创建营救任务
        RescueDamselQuest rescueDamselQuest = new RescueDamselQuest();
        // 创建英雄对象
        RescuedamselKnight rescuedamselKnight = new RescuedamselKnight("Ning", rescueDamselQuest);
        // 执行任务
        rescuedamselKnight.embarkOnQuest();
    }
}

TestRescueDamselKnightNew

package net.sherry.spring.day01;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 功能:采用Spring容器测试营救任务
 * 作者:Sherry
 * 日期:2023/2/15
 */
public class TestRescueDamselKnightNew {
    private ClassPathXmlApplicationContext context; // 基于类路径XML配置文件的应用容器(Bean工厂)

    @Before // 每次测试方法执行前都要执行的代码就放在此方法里
    public void init() {
        // 基于Spring配置文件创建应用容器
        context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");
        // 提示用户
        System.out.println("Spring应用容器已创建~");
    }

    @Test
    public void testRescueDamselKnight() {
        RescuedamselKnight rescuedamselKnight = (RescuedamselKnight) context.getBean("rescueDamselKnight");
        rescuedamselKnight.embarkOnQuest();
    }

    @After // 每次测试方法执行后都要执行的代码就放在此方法里
    public void destroy() {
        // 关闭应用容器
        context.close();
        // 提示用户
        System.out.println("Spring应用容器已关闭~");
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/347198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卷积神经网络中的图像特征——以YOLOv5为例进行可视化

一、图像特征 1. 图像低层特征 图像低层特征指的是&#xff1a;边缘、颜色和纹理等特征。低层特征的分辨率较高&#xff0c;包含较多的位置、细节信息&#xff0c;但其包含的语义信息较少&#xff0c;噪声较多。原始图像和浅层卷积网络输出的特征图属于低层特征&#xff0c;从…

2023最新的接口自动化测试面试题

1、请结合你熟悉的项目&#xff0c;介绍一下你是怎么做测试的&#xff1f; -首先要自己熟悉项目&#xff0c;熟悉项目的需求、项目组织架构、项目研发接口等 -功能 接口 自动化 性能 是怎么处理的&#xff1f; -第一步&#xff1a; 进行需求分析&#xff0c;需求评审&#…

你好 ChatGPT, 帮我看下这段代码有什么问题?

点赞再看&#xff0c;动力无限。 微信搜「 程序猿阿朗 」。 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录&#xff0c;有很多系列文章。 今天一个很简单的功能&#xff0c;触发了一个 BUG&#xff0c;处理后我想起了最近爆火的 ChatGPT&#xff0c;于是我尝试测…

vscode开发的Vue家用电器维修服务系统nodejs+mysql

主要功能包括管理员&#xff1a;首页、个人中心、用户管理、维修员管理、维修信息管理、维修申请管理、维修处理管理、家电类别管理、配件信息管理、配件领用管理、维修结果管理、家电维修知识管理、公告信息管理、留言板管理&#xff0c;用户&#xff1a;首页、个人中心、维修…

Jenkins实现制作自定义镜像推送到Harbor上

Jenkins实现制作自定义镜像推送到Harbor上 1.首先需要Jenkins内部可以使用docker 在jenkins容器内部使用docker教程 2.选择对应的jenkins的job中 选择配置->构建->增加构建步骤(执行shell) mv target/*.jar docker/ docker build -t lover_story:$tag docker/ dock…

C语言进阶(一)—— 内存分区:变量和内存分布

1. 数据类型1.1 数据类型概念什么是数据类型&#xff1f;为什么需要数据类型?数据类型是为了更好进行内存的管理,让编译器能确定分配多少内存。类型是对数据的抽象;类型相同的数据具有相同的表示形式、存储格式以及相关操作;程序中所有的数据都必定属于某种数据类型;数据类型可…

注解ConfigurationProperties、EnableConfigurationProperties的用法

1 ConfigurationProperties ConfigurationProperties主要作用就是将prefix属性指定的前缀配置项的值绑定到这个JavaBean上 &#xff0c;通过指定的前缀&#xff0c;来绑定配置文件中的配置。这样的好处是将配置数据与JOPO进行转换&#xff0c;能够管理一个类别的所有配置信息&…

【零基础入门前端系列】—表单(七)

【零基础入门前端系列】—表单&#xff08;七&#xff09; 一、什么是表单 表单在Web网页中用来给访问者填写信息&#xff0c;从而采集客户信息端&#xff0c;使得网页具有交互功能。一般是将表单设计在一个HTML文档中&#xff0c;当用户填写完信息后做提交操作&#xff0c;于…

docker部署springboot项目

1、创建放置项目jar包和Dockerfile的文件夹 cd usr/ mkdir reggie cd reggie/ 2、上传Dockerfile和项目jar包 Dockerfile内容如下&#xff1a; # 基础镜像使用java FROM java:8 # 作者 MAINTAINER chenxiansheng # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /v…

ElasticSearch与Kibana入门(解决报错:can not run elasticsearch as root)

ElasticSearch安装和部署 es官网 window版 选择你要的版本 解压&#xff0c;bin下bat就可以启动&#xff0c;需要配置jdk18的环境 linux版 解压&#xff1a;tar zxvf elasticsearch-6.3.2.tar.gz 启动&#xff1a;bin下执行/elasticsearch 报错org.elasticsearch.boot…

C语言初级指针应用

目录 一.什么是指针以及如何获取地址 二.间接运算符&#xff08;解引用运算符&#xff09;&#xff1a;* 三.声明指针 四.使用指针在函数进行通信 五.变量&#xff1a;名称&#xff0c;地址和值 一.什么是指针以及如何获取地址 指针是一个值为内存地址的变量&#xff08;或…

RabbitMQ相关概念介绍

这篇文章主要介绍RabbitMQ中几个重要的概念&#xff0c;对于初学者来说&#xff0c;概念性的东西可能比较难以理解&#xff0c;但是对于理解和使用RabbitMQ却必不可少&#xff0c;初学阶段&#xff0c;现在脑海里留有印象&#xff0c;随着后续更加深入的学习&#xff0c;就会很…

电源自动测试系统-电源模块批量自动化测试方案ATECLOUD-Power

1、测试名称 基于ATECLOUD的电源模块测试方案 2、测试目的 提升电源模块测试效率&#xff0c;减少测试人员成本&#xff0c;降低测试专业知识要求&#xff0c;增加数据精准度&#xff0c;为企业提供专业决策的数据支持&#xff0c;从而降本增效。 3、测试设备 示波器、电子…

20230215小结

1 t-sne 原理&#xff1a;利用两个向量之间的欧式距离转化成条件概率分布&#xff0c;可以把高维度的数据转化为低维度&#xff08;1000&#xff0c;64&#xff09;-》&#xff08;1000&#xff0c;2&#xff09;&#xff0c;原先每个样本有64维度&#xff0c;转化为2维 2 swi…

linux系统编程入门

一、搭建环境 1、安装 Linux 系统&#xff08;虚拟机安装、云服务器&#xff09; https://releases.ubuntu.com/bionic/ 2、安装 XSHELL、XFTP https://www.netsarang.com/zh/free-for-home-school/ 3、安装 visual studio code https://code.visualstudio.com/ 4、Linu…

Unreal Engine角色涌现行为开发教程

在本文中&#xff0c;我将讨论如何使用虚幻引擎、强化学习和免费的机器学习插件 MindMaker 在 AI 角色中生成涌现行为。 目的是感兴趣的读者可以使用它作为在他们自己的游戏项目或具体的 AI 角色中创建涌现行为的指南。 推荐&#xff1a;使用 NSDT场景设计器 快速搭建 3D场景。…

一种基于加密域的数字图像水印算法的设计与实现(附Matlab源码)

一种基于加密域的数字图像水印算法的设计与实现 项目介绍 毕设项目 题目&#xff1a;一种基于加密域的数字图像水印算法的设计与实现 随着数字媒体技术的发展&#xff0c;数字媒体版权的保护得到了越来越多人的重视&#xff0c;数字水印技术作为数字媒体版权保护的有效手段…

通达信交易接口以什么形式执行下单的?

通达信程交易接口 以API形式来执行下单接口&#xff0c;一般不再需要通过接口系统之间进行连接&#xff0c;通过直接调用通达信dll交易函数的方式直接进行交易&#xff0c;包括下单&#xff0c;撤单&#xff0c;查询资金股份、当日委托、当日成交等方面都能很快的执行出来。以a…

【JDK8】MyBatis源码导入Idea

1.背景 为了更好的将MyBatis的开发设计思想带到日常开发工作&#xff0c;将MyBatis源码导入到本地开发工具中(idea)。我自己在导入的时候碰到几个问题&#xff0c;耽误了自己一点时间&#xff0c;这里我把它们记下来&#xff0c;后边的小伙伴可不要踩我的坑。 Java版本&#x…

黑帽SEO是什么?做了真的能够一直保持排名?

随着Google演算法一次又一次的更新&#xff0c;现在愈来愈多人重视所谓的网站SEO。但是内行的人都知道&#xff0c;网站要提高排名并非一天两天的事&#xff0c;所以有些人就会使用不法手段想借此提高排名&#xff0c;这也就是常听到的「黑帽SEO」。但是做黑帽SEO真的能快速提高…