2015Spring实验环境搭建(完整版)
- 格式:pdf
- 大小:911.11 KB
- 文档页数:18
快速搭建⼀个SpringBoot项⽬(纯⼩⽩搭建教程)⽬录零、环境介绍⼀、⼿把⼿创建1.创建步骤2.启动类和测试编写2.1 项⽬结构2.2 创建启动类DemoApplication2.3 测试⼆、依赖⼯具创建零、环境介绍环境:jdk1.8及以上,maven,Win10,IDEA,⽹络⼀、⼿把⼿创建请求创建在启动类所在的包⾥⾯,才能顺利启动1.创建步骤看图,有⼿就⾏之后得到的就是⼀个maven项⽬,⽬录结构如下:之后添加依赖,springboot的核⼼依赖。
SpringBoot提供了⼀个名为spring-boot-starter-parent的构件,⾥⾯已经对各种常⽤依赖(并⾮全部)的版本进⾏了管理,我们的项⽬需要以这个项⽬为⽗⼯程,这样我们就不⽤操⼼依赖的版本问题了,需要什么依赖,直接引⼊坐标即可!<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 https:///xsd/maven-4.0.0.xsd"><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><modelVersion>4.0.0</modelVersion><!--本机JDK版本--><properties><java.version>11</java.version></properties><!--⽗类依赖--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><!--web启动器依赖--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>需要注意的是,我们并没有在这⾥指定版本信息。
1.获取Spring framework jar包从官网下载spring 最新的相关jar包,官网download地址/spring-community-download打开网页找到然后会要求填写些相关基本信息打开了发现最新的是spring 3.2 ,那就下它了下载完成后会发现三个目录,命名很明确。
Docs目录相关文档。
包括一份API和一份各种spring的使用说明(reference),reference提供了HTML.PDF版本,非常详细。
2.搭建第一个用到spring依赖注册的程序直接用eclipse建立一个JAVA项目然后添加spring的jar包引入spring-core-3.2.0.M1.jar 核心依赖jar包spring-context-3.2.0.M1.jar Spring容器包spring-beans-3.2.0.M1.jar Spring beans的管理包spring-asm-3.2.0.M1.jar Spring注:和hibernate一起用时这个JAR会冲突,解决方法删掉它就是了org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is ng.NoSuchMethodError:org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)VCaused by:ng.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V spring-expression-3.2.0.M1.jar除此之外,还有需要一个Apache common的JAR包注:如果忘记添加会commons-logging-1.1.1.jar报错Exception in thread "main" ng.NoClassDefFoundError:org/apache/commons/logging/LogFactory关于Apache的common有很多子项目。
springboot配置开发和测试环境并添加启动路径⽅式⽬录springboot配置开发和测试环境并添加启动路径SpringBoot配置⽂件(多环境配置dev、test、prod、启动器类的位置)多环境配置启动器类的位置springboot配置开发和测试环境并添加启动路径嗯,开发和测试环境要分离,这是⼀般共识(虽然我⼯作过的公司都没有这种分离),spring boot也可以按照配置⽂件的读取来做到这⼀点。
上图有三个application开头的配置⽂件,要达到能够读取外部配置⽂件的⽬的,我们需要引⼊⼀个依赖包,就是红⾊箭头所指的那个,把这段加⼊pom.xml的<dependencies></dependencies>节点⾥⾯ <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>三个application⽂件有什么不同呢?其实没什么不同,就是名字不⼀样啦命名不⼀样,我在⾥⾯配置了不同端⼝,⽤于区分,那么实际读取的application.properties是通过#当前服务环境为开发测试环境spring.profiles.active=dev#spring.profiles.active=prod去读取开发或者⽣产的环境的。
第⼀⾏还可以配置我们项⽬的根访问路径,⽐如没有加之前我们在浏览器是按localhost:9090/hello访问的,加了/wow之后,就是按照localhost:9090/wow/hello访问。
开发环境和测试环境配置好之后,编写⼀个测试类controller@RestControllerpublic class UserController {@RequestMapping("/getUser")public User getUser() {User user= new User();user.setId(PlantUuid.moreUuid(1));user.setName("ahei");user.setPwd("123456");return user;}}其中的⼯具类PlantUuid如下:package com.example.util;import java.util.UUID;public class PlantUuid {public static void main(String[] args) {// TODO Auto-generated method stub//moreUuid(10);}//得到32位的uuidpublic static String createUuid32() {String uuid = "";uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();System.out.print("---⽣成的uuid是---"+uuid+"\n");return uuid;}//⼀次⽣成多个uuidpublic static String moreUuid(Integer t) {String more_uuid = "";Integer k = 0;for (k=0;k<t;k++) {more_uuid = createUuid32();}return more_uuid;}}在浏览器按localhost:9090/wow/getUser访问切换端⼝也可以的哦!SpringBoot配置⽂件(多环境配置dev、test、prod、启动器类的位置)项⽬开发中的dev、test、prod是什么意思开发环境(dev):开发环境是程序猿们专门⽤于开发的服务器,配置可以⽐较随意,为了开发调试⽅便,⼀般打开全部错误报告。
⽤IDEA搭建和部署SpringBoot开发环境⼀、环境搭建(只说明关键步骤)1.创建新项⽬2.使⽤Spring的初始化器3.点击两次Next,选择如下依赖4.点击Next和Finish,进⼊项⽬,点击reimport,下载依赖⼆、编写简单的后端代码我有⼀个MySQL数据库,⾥⾯有⼀个user表,以查询此表为例。
1.在项⽬中依次创建controller、service、dao、entity包2.在controller下新建NameController类package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class NameController {@RequestMapping("/lyh")public String myName(){return "罗毅豪";}}3.修改application.properties为application.yml,⾥⾯的内容为:server:port: 8080spring:datasource:url: jdbc:mysql://1.15.186.160:3306/luoyihao?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC username: lyhpassword: lyhdriver-class-name: com.mysql.cj.jdbc.Driverjpa:database-platform: org.hibernate.dialect.MySQL5InnoDBDialectshow-sql: true其中port是后端程序的端⼝号,然后是配置数据库的url、⽤户名和密码,最后是配置jpa。
Spring环境搭建实验目的:掌握如何搭建Spring环境主要内容:(1)创建工程;(2)导入Spring类库;(3)创建Spring的配置文件applicationContext.xml;(4)编写被管理的JavaBean;(5)配置被管理的JavaBean;(6)访问被管理的JavaBean。
第(1)-(3)是每个工程都需要的步骤,第(4)-(6)是完成具体功能时候创建的。
具体操作过程如下。
1 创建工程可以是Java工程、Web工程、企业级工程,这里采用Java工程,即Application。
工程名字是HelloSpring。
2 导入类库在工程上创建文件夹lib,复制类库到lib下面。
不同版本会有不同,可以直接从示例代码中复制lib下面的类库。
修改build-path,加入这个类库:工程上点击右键,选择“build-path”,选择“configure build path”,选择lib,选择“add libraries”,选择导入的那些类库即可。
3 编写配置文件applicationContext.xml文件名是applicationContext.xml,放在src下面即可。
空的配置文件内容如下,后面在实现具体的时候再添加相关配置内容。
<beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd"> </beans>4 编写被管理的组件被管理的组件为普通的Java类,其中的方法也是普通方法,下面的HelloSpring中的print 方法就是要提供给客户访问的方法。
public class HelloSpring {public void print(){System.out.println("Spring被调用了!");}}HelloSpring为普通的Java类,print方法输出了一句话,运行的时候如果调用这个方法会输出“Spring被调用了!”。
Spring开发环境配置指导书引言1.1编写目的此文档是为阅读者能够独立完成Spring开发环境配置,为以后能够独立配置Spring 环境打好基础。
1.2背景本文档适合具有一定Java基础的初学者作为学习参考资料。
1.3假设本文假设用户已经安装好MyEclipse集成开发环境。
文章导读第一章,框架介绍,介绍了Spring框架的基本情况和包含的模块。
第二章,环境配置,讲述基于Spring框架的控制台应用程序环境配置。
第三章,编写测试代码。
第一章,框架介绍Spring是一套功能全面的开源框架。
其中使用了很多被实践证明的最佳实践和正规的设计模式,并且进行了编码实现。
DAO (Data Access Objects) 数据访问对象,ORM(Object-relational mapping )面向对象映射,JEE,AOP( aspect-oriented programming)面向方面编程。
Core封装包是框架的最基础部分,提供IoC和依赖注入特性。
构建于Core封装包基础上的Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。
Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。
DAO提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。
并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用。
ORM封装包提供了常用的“对象/关系”映射APIs的集成层。
其中包括JPA、JDO、Hibernate和iBatis。
利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。
Spring源码分析——调试环境搭建(可能是最省事的构建⽅法)1. 依赖⼯具ideagitjdk 1.8 +Gradle2. 获取源码 从github https:///spring-projects/spring-framework 上 Fork 出属于⾃⼰的仓库。
如果懒得这么做也可以直接Clone or download下载源码包。
3.使⽤IDEA编译源码 ⾸先打开IDEA,点击File —> Open 选择刚才源码的下载路径进⾏导⼊ 点击“ok”按钮会弹出以下配置框,主要是配置JDK位置,和Global位置(如果没有下载idea会⾃动帮你装配Global) 点击确认后,就会打开Spring 源码,idea下⾯会显⽰正在导⼊包中(导包过程很慢请耐⼼等待) 所有关联包导⼊完毕后需要Build下项⽬,导⼊项⽬完成(如图操作)4.运⾏调试 经过上⾯的步骤之后基本上就可以直接运⾏ spring 的 Testcase 了可以先选择调试 “XmlBeanDefinitionReaderTests” 类(作⽤:解析 XML 配置⽂件成对应的 BeanDefinition们的流程)。
有可能会遇到如下的错Error:Kotlin: [Internal Error] ng.AbstractMethodError: piler.plugin.ScriptingCompilerConfigurationComponentRegistrar.registerProjectComponents(Lcom/intellij/mock/MockProject;Lorg/jetbrains/kotlin/config/Co at piler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:173)at piler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:114)at piler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:401)at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:282)at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createEnvironmentWithScriptingSupport(K2JVMCompiler.kt:272)at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:151)at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:61)at mon.CLICompiler.execImpl(CLICompiler.java:107)at mon.CLICompiler.execImpl(CLICompiler.java:51)at mon.CLITool.exec(CLITool.kt:92)at pileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:380)at pileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:96)at pileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:892)at pileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:96)at mon.DummyProfiler.withMeasure(PerfUtils.kt:137)at pileServiceImpl.checkedCompile(CompileServiceImpl.kt:919)at pileServiceImpl.doCompile(CompileServiceImpl.kt:891)at pile(CompileServiceImpl.kt:378)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at ng.reflect.Method.invoke(Method.java:498)at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)at sun.rmi.transport.Transport$1.run(Transport.java:200)at sun.rmi.transport.Transport$1.run(Transport.java:197)at java.security.AccessController.doPrivileged(Native Method)at sun.rmi.transport.Transport.serviceCall(Transport.java:196)at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)at sun.rmi.transport.tcp.TCPTransport$mbda$run$0(TCPTransport.java:683)at java.security.AccessController.doPrivileged(Native Method)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at ng.Thread.run(Thread.java:745) 这个主要是Kotlin插件的版本问题,解决⽅案是更新新版本的Kotlin插件。
spring配置详解1.前⾔公司⽼项⽬的后台,均是基于spring框架搭建,其中还⽤到了log4j.jar等开源架包。
在新项⽬中,则是spring和hibernate框架均有使⽤,利⽤了hibernate框架,来实现持久化,简化sql操作等。
Hibernate配置⽂件可以有两种格式,⼀种是 hibernate.properties,另⼀种是hibernate.cfg.xml。
后者稍微⽅便⼀些,当增加hbm映射⽂件的时候,可以直接在 hibernate.cfg.xml ⾥⾯增加,不必像 hibernate.properties 必须在初始化代码中加⼊。
我们新项⽬中使⽤的是hibernate.cfg.xml格式。
不过在本⽂中不将细述,后续有机会再补上。
公司项⽬中,中间件主要有tomcat,webshpere,WebLogic。
以下,将对项⽬中spring基本配置,log4j的配置,还有中间件的相关参数配置做⼀个初步的介绍。
2.spring配置——以⽼GIS项⽬为例⼦GISV13中的配置涉及到了SpringMVC,IOC,AOP, Quartz⽅⾯的配置。
配置的实现是通过注记配置和XML配置来合作实现。
这⾥,我将按照Spring的配置流程,将其他⼏个⽅⾯的配置融合其中,来进⾏全⾯解析。
2.1SpringMVC的配置2.1.1.web.xml的配置Web程序中,当中间件启动时,中间件会⾸先读取web.xml中的配置。
在web.xml中可以配置监听器,过滤器,servlet映射等等。
在Spring 框架中,我们主要需配置容器初始化时读取的spring容器配置⽂件的路径以及springMVC中的分发器DispatcherServlet。
在GISV13的web.xml中,我们定义了如下内容:InitGISConfigServlet定义了容器启动时,⾸先要运⾏这个⽅法。
然后servletname为MVC的这部分便是定义了springMVC的分发器以及此servlet所对应的加载配置⽂件的路径。
idea搭建springboot项目搭建Spring Boot项目是一项常见而重要的任务,它为开发人员提供了一个快速高效的框架,用于构建Java应用程序。
本文将详细介绍Spring Boot的搭建过程,包括环境配置、项目结构、依赖管理和示例代码。
首先,我们需要确保已正确配置好Java开发环境。
建议使用最新版本的JDK,并正确设置JAVA_HOME环境变量。
接下来,我们可以开始创建一个新的Spring Boot项目。
在搭建Spring Boot项目之前,我们需要选择一个合适的开发工具。
推荐使用IntelliJ IDEA,它是一款功能强大且易于使用的IDE,对Spring Boot的支持也非常出色。
开始创建新项目之前,我们需要下载并安装Spring Initializr插件。
在IntelliJ IDEA中,我们可以通过导航到“File”菜单,然后选择“Settings”来打开设置面板。
在设置面板中,选择“Plugins”选项,然后搜索并安装名为“Spring Assistant”的插件。
安装完毕后,我们可以开始创建新的Spring Boot项目。
在IntelliJ IDEA的欢迎界面,选择“Create New Project”选项。
然后,在弹出的对话框中选择“Spring Initializr”,然后点击“Next”。
接下来,我们需要选择项目的基本设置。
首先,选择项目的类型为“Maven”(您也可以选择“Gradle”)。
然后,选择项目的Java版本(通常建议选择最新版本)。
接下来,在“AdditionalLibraries and Frameworks”部分,选择“Spring Boot”和“Spring Web”以及任何您需要的其他库和框架。
最后,指定项目的名称和位置,然后点击“Next”。
在接下来的步骤中,我们需要配置项目的依赖项。
默认情况下,Spring Initializr会为我们生成一个基本的Spring Boot项目,包含一些常用的依赖项。
springboot多环境(dev、test、prod)配置propertiest配置格式在Spring Boot中多环境配置⽂件名需要满⾜application-{profile}.properties的格式,其中{profile}对应你的环境标识,⽐如:application-dev.properties:开发环境application-test.properties:测试环境application-prod.properties:⽣产环境⾄于哪个具体的配置⽂件会被加载,需要在application.properties⽂件中通过spring.profiles.active属性来设置,其值对应{profile}值。
如:spring.profiles.active=dev就会加载application-dev.properties配置⽂件内容下⾯,以不同环境配置不同的服务端⼝为例,进⾏样例实验。
针对各环境新建不同的配置⽂件application-dev.properties、application-test.properties、application-prod.properties在这三个⽂件均都设置不同的server.port属性,如:dev环境设置为8001,test环境设置为8002,prod环境设置为8003 application.properties中设置spring.profiles.active=dev,就是说默认以dev环境设置测试不同配置的加载执⾏java -jar xxx.jar,可以观察到服务端⼝被设置为8001,也就是默认的开发环境(dev)执⾏java -jar xxx.jar --spring.profiles.active=test,可以观察到服务端⼝被设置为8002,也就是测试环境的配置(test)执⾏java -jar xxx.jar --spring.profiles.active=prod,可以观察到服务端⼝被设置为8003,也就是⽣产环境的配置(prod)。
第1篇实验名称:开发环境搭建实验目的:1. 掌握开发环境的搭建流程。
2. 熟悉常用的开发工具和版本控制工具。
3. 提高软件开发的实践能力。
实验时间:2022年X月X日实验地点:个人电脑实验器材:1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse IDE4. 版本控制工具:Git实验内容:1. 开发环境的搭建2. 编写简单的Java程序3. 使用Git进行版本控制实验步骤:一、开发环境的搭建1. 安装Java开发工具包(JDK)(1)下载JDK安装包:进入Oracle官网,选择适合自己操作系统的JDK版本进行下载。
(2)安装JDK:双击下载的安装包,按照提示进行安装。
(3)配置环境变量:在系统属性中,点击“环境变量”按钮,在“系统变量”中,找到“Path”变量,点击“编辑”,在变量值中添加JDK安装路径下的bin目录,如C:\Program Files\Java\jdk1.8.0_241\bin。
2. 安装Eclipse IDE(1)下载Eclipse安装包:进入Eclipse官网,选择适合自己的Eclipse版本进行下载。
(2)安装Eclipse:双击下载的安装包,按照提示进行安装。
3. 安装Git(1)下载Git安装包:进入Git官网,选择适合自己的Git版本进行下载。
(2)安装Git:双击下载的安装包,按照提示进行安装。
(3)配置Git:打开Git Bash,执行以下命令:```$ git config --global "你的名字"$ git config --global user.email "你的邮箱"```二、编写简单的Java程序1. 打开Eclipse IDE,创建一个新的Java项目。
2. 在项目中创建一个新的Java类,命名为“HelloWorld”。
3. 编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```4. 运行程序,查看输出结果。
Spring环境搭建spring框架结构:从上图可以看到Spring的核⼼容器是: beans,core,context,spel这个四个容器,所以需要先导⼊这四个容器所对应的包:spring-beans-x.jar,spring-core-x.jar,spring-context-x.jar,spring-expression-x.jar ,其中最后⼀位的-x代表Spring版本。
当导⼊上述包后,由于其引⽤了⽇志管理的jar,所有还需要导⼊commons-logging.jar。
⾄此Spring环境所需要的jar就满⾜所需情况了。
⼯程结构:搭建好开发环境后,现在开始进⾏测试,⾸先创建⼀个实体类User;package com.test.bean;public class User {private String name;private int age;public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}View CodeSpring环境需要创建⼀个xml来管理所有的Bean⽂件,⼀般命名为applicationContext.xml,这个名字可以⾃⼰定义,然后将bean⽂件注册进去<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd"><!-- 其中id为标识,class为bean的全路径 --><bean id="user" class="er"></bean></beans>View Code创建测试类,看看spring环境是否搭建成功package com.test.start;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import er;public class TestSpringController {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");User user = (User) context.getBean("user");System.out.println(user);}}View Code运⾏成功则打印User实体类如果想要使⽤注解,则需要导⼊另外⼀个jar包spring-aop-x.jar,现在做⼀个简单的保存数据来测试注解是否成功⼯程结构:userController类:package com.test.controller;import javax.annotation.Resource;import org.springframework.stereotype.Controller;import erService;@Controllerpublic class UserController {@Resourceprivate UserService userService;public void save(){userService.save();}}View CodeuserService类:package com.test.service;import javax.annotation.Resource;import org.springframework.stereotype.Service;import erDao;@Servicepublic class UserService {@Resourceprivate UserDao userDao;public void save(){userDao.save();}}View CodeuserDao类:package com.test.dao;import org.springframework.stereotype.Repository;@Repositorypublic class UserDao {public void save(){System.out.println("保存⽤户");}}View CodeapplicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd"><!-- 其中id为标识,class为bean的全路径 --><!-- <bean id="user" class="er"></bean> --><context:component-scan base-package="com.test"></context:component-scan></beans>View Code测试类:package com.test.start;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import er;import erController;public class TestSpringController {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");// User user = (User) context.getBean("user");// System.out.println(user);UserController user = (UserController) context.getBean("userController");user.save();}}View Code运⾏测试类成功则打印“保存⽤户“其中注解@Repository @Service @Controller @Component这四个注解是等效的@Component为spring容器通⽤注解@Repository代表此类是持久层@Service表⽰业务层@Controller 表⽰为控制层依赖注⼊@Resource @Autowired 作⽤是相同的@Resource默认按名称装配,如果找不到则按照类型装配@Autowired默认按照类型装配,并默认不允许为null,可以通过required这个属性来控制,设置为false时,运⾏为空,如果上下⽂字存在不⽌⼀个相同的注⼊类型的话,或导致抛出异常BeanCreationException,配合@Qualifier注解处理此问题。
SpringBoot环境搭建及第⼀个程序运⾏(详细!)spring boot简介spring boot框架抛弃了繁琐的xml配置过程,采⽤⼤量的默认配置简化我们的开发过程。
所以采⽤Spring boot可以⾮常容易和快速地创建基于Spring 框架的应⽤程序,它让编码变简单了,配置变简单了,部署变简单了,监控变简单了。
说的直⽩⼀些使⽤spring boot之后就不⽤像以前使⽤ssm的时候添加那么多配置⽂件了,spring boot除了⽀持ssm之外,还⽀持⾮常多的第三⽅技术。
spring boot就像是⼀个百宝箱,你要⽤那些技术,直接告诉他就⾏了。
在spring boot中写的代码跟以前⼀样,所以在学习的时候⾮常容易上⼿。
这⾥我们使⽤spring boot2.x的版本,要求版本号:jdk8+maven3+第⼀个spring boot项⽬在idea中通过插件创建⼀个spring boot项⽬,创建好之后会⽣成⼀些⽬录和类。
创建⼀个模块设置group和artifact,这⾥选择jar包勾选web,这⾥创建⼀个web项⽬next + finish可以看到SpringBoot的⽬录结构Application类(⼊⼝类)⾥⾯的@SpringBootApplication注解是springboot的核⼼注解,主要作⽤是开启spring⾃动配置。
使⽤这个注解相当于加上了下⾯三个注解:main⽅法中的SpringApplication.run在启动的时候会启动springboot程序,启动spring容器,启动内嵌的tomcat容器。
@Configuration 允许将其他@bean注解标识的类加⼊到spring容器中,相当于spring配置⽂件中的beans标签@EnableAutoConfiguration 启动⾃动配置@ComponentScan 会⾃动扫描当前包和⼦包下的标有@Component,@Service,@Repository,@Controller的类。
⼀、Spring5.2.x源码环境搭建⽬录⼀、Spring5.2.x源码环境搭建搭建Spring5.2.x源码环境,需要安装jdk1.8以上版本,gradele4.2以上版本⼯具:IntelliJ IDEA 2019.2.21.准备1.1.安装gradle下载解压配置环境变量新增 GRADLE_HOME=D:\Gradle\gradle-5.6.4PATH中增加 %GRADLE_HOME%/bin;查看版本信息gradle -v配置gradle在gradle的根⽬录下的init.d⽂件夹中新建⼀个 init.gradle ,添加⼀下内容(下载加速)allprojects{repositories {def REPOSITORY_URL = '/nexus/content/groups/public/'all { ArtifactRepository repo ->def url = repo.url.toString()if ((repo instanceof MavenArtifactRepository) && (url.startsWith('https:///maven2') || url.startsWith('https://'))) { project.logger.lifecycle 'Repository ${repo.url} replaced by $REPOSITORY_URL .'remove repo}}maven {url REPOSITORY_URL}}}idea配置gradle打开Idea,File--Settings--Build,Execution,Deployment--Build Tools--Gradle配置 Gradle user home 为 gradle的环境变量 GRADLE_HOME ⽬录1.2.下载Spring源码采⽤git clone⽅式下载,直接下载zip包在构建的时候可能会出现问题可以看到编译成功了,但是报错,git相关的错误原因是,我们是采⽤zip⽅式下载下来进⾏构建的,zip主要是⽤来共享源代码,但是不⼀定⽤于构建它想要避免此错误,要采⽤git clone⽅式下载下载git clonegit clone -b 5.2.x https:///mirrors/Spring-Framework.git2.构建修改build.gradle配置repositories {mavenCentral()maven { url "/nexus/content/groups/public/" } }构建源码cmd进⼊spring源码⽬录 spring-framework-5.2.x,执⾏ gradlew :spring-oxm:compileTestJava此命令可能需要等⼀段时间,可以跳过,直接进⾏下⼀步,当然下⼀步也会耗时⼀会,因为要下载相关的包导⼊到IdeaFile--New--roject from Existing Sources找到选择spring-framework源码, 选择build.gradle修改gradle配置spring导⼊到idea后进⾏构建时,默认会按照gradle中的配置找到 gradle-wrapper.properties,按照配置进⾏下载不想下载,可以进⾏修改选择 Specified location,选择gradle的安装⽬录,即环境变量 GRADLE_HOME ⽬录修改后,重启IDEA重新进⾏构建,就没有下载gradle的步骤了3.测试3.1.新建⼯程选中⽗⼯程 Spring-Framework,右键,new--ModuleNext,填写ArtifactId,如 spring-mytest3.2.修改build.gradle加⼊依赖 spring-contextplugins {id 'java'}group 'org.springframework'version '5.0.11.BUILD-SNAPSHOT' sourceCompatibility = 1.8repositories {mavenCentral()}dependencies {compile project(':spring-context')testCompile group: 'junit', name: 'junit', version: '4.12' }3.3.编写测试代码spring.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd"> <bean id="testService" class="com.mytest.service.TestService"></bean></beans>TestConfig.javapackage com.mytest.config;import ponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan("com.mytest")public class TestConfig {}TestService.javapackage com.mytest.service;import ponent;@Componentpublic class TestService {public void testMethod(){System.out.println("Spring源码搭建成功!!");}}Test.javapackage com.mytest.main;import com.mytest.config.TestConfig;import com.mytest.service.TestService;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {//注解⽅式AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(TestConfig.class);TestService bean = annotationConfigApplicationContext.getBean(TestService.class);.bean.testMethod();//配置⽂件⽅式ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("spring.xml");TestService bean1 = classPathXmlApplicationContext.getBean(TestService.class);bean1.testMethod();}}测试运⾏11:04:36: Executing task 'Test.main()'...> Task :buildSrc:compileJava UP-TO-DATE> Task :buildSrc:compileGroovy NO-SOURCE> Task :buildSrc:pluginDescriptors UP-TO-DATE> Task :buildSrc:processResources UP-TO-DATE> Task :buildSrc:classes UP-TO-DATE> Task :buildSrc:jar UP-TO-DATE> Task :buildSrc:assemble UP-TO-DATE> Task :buildSrc:pluginUnderTestMetadata UP-TO-DATE> Task :buildSrc:compileTestJava NO-SOURCE> Task :buildSrc:compileTestGroovy NO-SOURCE> Task :buildSrc:processTestResources NO-SOURCE> Task :buildSrc:testClasses UP-TO-DATE> Task :buildSrc:test NO-SOURCE> Task :buildSrc:validateTaskProperties UP-TO-DATE> Task :buildSrc:check UP-TO-DATE> Task :buildSrc:build UP-TO-DATE> Task :spring-core:cglibRepackJar UP-TO-DATE> Task :spring-core:objenesisRepackJar UP-TO-DATE> Task :spring-expression:processResources UP-TO-DATE> Task :spring-aop:processResources UP-TO-DATE> Task :spring-beans:processResources UP-TO-DATE> Task :spring-core:processResources UP-TO-DATE> Task :spring-context:processResources UP-TO-DATE> Task :spring-mytest:processResources> Task :kotlin-coroutines:compileKotlin UP-TO-DATE> Task :kotlin-coroutines:compileJava NO-SOURCE> Task :kotlin-coroutines:processResources NO-SOURCE> Task :kotlin-coroutines:classes UP-TO-DATE> Task :kotlin-coroutines:inspectClassesForKotlinIC UP-TO-DATE > Task :spring-instrument:compileJava UP-TO-DATE> Task :kotlin-coroutines:jar UP-TO-DATE> Task :spring-instrument:processResources NO-SOURCE> Task :spring-instrument:classes UP-TO-DATE> Task :spring-instrument:jar UP-TO-DATE> Task :spring-jcl:compileJava UP-TO-DATE> Task :spring-jcl:processResources UP-TO-DATE> Task :spring-jcl:classes UP-TO-DATE> Task :spring-jcl:jar UP-TO-DATE> Task :spring-core:compileKotlin UP-TO-DATE> Task :spring-core:compileJava UP-TO-DATE> Task :spring-core:classes UP-TO-DATE> Task :spring-core:inspectClassesForKotlinIC UP-TO-DATE> Task :spring-core:jar UP-TO-DATE> Task :spring-expression:compileKotlin UP-TO-DATE> Task :spring-expression:compileJava UP-TO-DATE> Task :spring-expression:classes UP-TO-DATE> Task :spring-expression:inspectClassesForKotlinIC UP-TO-DATE > Task :spring-expression:jar UP-TO-DATE> Task :spring-beans:compileGroovy UP-TO-DATE> Task :spring-beans:compileKotlin UP-TO-DATE> Task :spring-beans:compileJava NO-SOURCE> Task :spring-beans:classes UP-TO-DATE> Task :spring-beans:inspectClassesForKotlinIC UP-TO-DATE> Task :spring-beans:jar UP-TO-DATE> Task :spring-aop:compileJava UP-TO-DATE> Task :spring-aop:classes UP-TO-DATE> Task :spring-aop:jar UP-TO-DATE> Task :spring-context:compileKotlin UP-TO-DATE> Task :spring-context:compileJava UP-TO-DATE> Task :spring-context:compileGroovy NO-SOURCE> Task :spring-context:classes UP-TO-DATE> Task :spring-context:classes UP-TO-DATE> Task :spring-context:inspectClassesForKotlinIC UP-TO-DATE> Task :spring-context:jar UP-TO-DATE> Task :spring-mytest:compileJava> Task :spring-mytest:classes> Task :spring-mytest:Test.main()Spring源码搭建成功!!Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.Use '--warning-mode all' to show the individual deprecation warnings.See https:///5.6.4/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 5s36 actionable tasks: 3 executed, 33 up-to-date11:04:49: Task execution finished 'Test.main()'.可以看到,正常输出了 Spring源码搭建成功!!⾄此,Spring源码环境搭建成功。
SEED-XDS510PLUS高速仿真器CCS3.x下安装与使用指南
电子信息工程系
2014年6月30日
目 录
综述 (3)
第一章 SEED-XDS510PLUS 仿真器安装 (4)
1.1 安装说明 (4)
1.1.1 安装环境 (4)
1.1.2 SEED-XDS510PLUS 仿真器所支持的DSP 系列 (4)
1.1.3 安全警告 (4)
1.2 安装步骤 (4)
1.2.1 安装软件: TMDSCCSALL-1 (CCS v3.3) (4)
1.2.2 安装SEED-XDS510PLUS 仿真器驱动 (5)
1.2.3 安装SEED-XDS510PLUS 仿真器硬件设备 (9)
第二章 目标DSP 板驱动程序的安装 (12)
2.1 设置Code Composer Studio 软件 (12)
2.2 实例 (14)
综述
按照如下顺序安装平台软件,详细的请从第一张开始。
Step1-CCS_3.3.83.20_Platinum,使用目录下的 setup.exe(除了把安装目录设定成 c:\ CCStudio_v3.3外,其余都用缺省。
安装到最后有个错误信息,直接点击确定即可。
)
Step2-Update,运行 SR12_CCS_v3.3_SR_3.3.82.13.exe(此过程需要选择Perl 5.8)
Step0-Seed-XDS510Plus Emulator for CCS3.3
安装后此时需要插上仿真器。
Step3-DVSDK&Update,先安装DM6437_DVSDK_setupwin32_1_01_00_15.exe,再安装DVSDK_update.exe
Step4,把04. SEED-DTK6437拷贝到某个分区的根目录。
第一章 SEED-XDS510PLUS 仿真器安装
1.1 安装说明
1.1.1 安装环境
为安装 SEED-XDS510PLUS仿真器,系统应满足如下所述的最小要求:
●Windows 2000/XP/Vista Professional
●Code Composer Studio™V2.20.18(For 2000/5000/6000)
●Code Composer Studio™V3.1
●Code Composer Studio™V3.3 我们选定该系统
●Code Composer™C3x-4x
1.1.2 SEED-XDS510PLUS 仿真器所支持的DSP 系列
TMS320LF24xx TMS320F28xx TMS320VC54xx TMS320VC55xx TMS320C67xx TMS320C64xx TMS320DM64x TMS320DM270 TMS320DM320 DaVinci™ OMAP™
VC33
1.1.3 安全警告
为了降低造成人身伤害的可能性,在连接SEED-XDS510PLUS 仿真器前,请确保关闭计算机电源。
减少触电和火灾危险;为了降低触电以及火灾危险,请确保与SEED 设备相连的主要设备都存在电源保护,并且是由下列其中的一个或多个代理商提供:UL,CSA,VDE,或TUV。
1.2 安装步骤
1.2.1 安装软件: TMDSCCSALL-1 (CCS v3.3)
定义路径: C:\CCStudio_v3.3,在此路径下安装CCS3.3,安装完成后在桌
面上出现如图1-1所示图标的快捷方式。
图1-1 安装后在windows系统桌面上形成的图标
CCS3.3安装完成后在“设备管理器”中出现图标“Texas Instruments XDS510 PCI JTAG Emulator”。
1.2.2 安装SEED-XDS510PLUS 仿真器驱动
点击仿真器驱动的安装程序SEED-XDS510Plus Emulatorfor CCS3.3 Below.exe,设置与Code Composer Studio软件相同的安装路径: C:\CCStudio_v3.3。
安装步骤如图1-2至图1-7所示。
注意:
1、 安装进入“图1-5”界面时,需要选择CCS的版本来安装相应的驱动。
2、 再次安装驱动的时候,可以按照提示,选择重新安装或者更新和恢复现有驱动。
图1-2 安装XDS510Plus Emulator for CCS3.3 Below 步骤1
图1-3 安装XDS510Plus Emulator for CCS3.3 Below 步骤2
1.2.3 安装SEED-XDS510PLUS 仿真器硬件设备
一、安装准备
1) 用所提供的USB连接线将SEED-XDS510PLUS仿真器与电脑主机相连。
2) 将SEED-XDS510PLUS仿真器与目标系统相连。
连接器说明如图1-8所示。
二、安装步骤
安装准备完成后,系统会自动提示安装“找到新的硬件向导”,单击“下一步”,按照提示进行仿真器硬件的安装。
安装结束,系统提示SEED-XDS510PLUS JTAG 仿真器已成功识别。
第二章 目标DSP 板驱动程序的安装
2.1 设置Code Composer Studio 软件
双击桌面上“Setup CCStudio v3.3”图标,在Code Composer Studio 设置过程中, 按照下列指示进行操作,将会协助为目标系统配置合适的驱动:
1) 在‘Family’ 栏中,选择目标系统的DSP系列型号。
2) 在‘Platform’中选择目标系统中所应用的仿真器型号。
3) 在‘Available Factory Board’栏中, 将所需要的仿真驱动拖拉至左栏‘SystemConfiguration’中。
参照如下的表格,将会帮助设置部分仿真驱动
程序:
DSP Family Platform
Driver
TMS320DM6437 C64x+ SEEDXDS510PLUS emulator DM6437 XDS510 Emulator
with ICEPICK_C TMS320C6416 C64xx SEEDXDS510PLUS emulator C671x XDS510 Emulator TMS320C6713 C67xx SEEDXDS510PLUS emulator C671x XDS510 Emulator TMS320VC5502 C55xx SEEDXDS510PLUS emulator C5502 XDS510 Emulator TMS320VC5416 C54xx SEEDXDS510PLUS emulator C5416 XDS510 Emulator TMS320F2812 C28xx SEEDXDS510PLUS emulator F2812 XDS510 Emulator TMS320LF2407
C24xx
SEEDXDS510PLUS emulator
F2407 XDS510 Emulator
4) 存储已配置好的仿真驱动。
5) 退出‘Setup’并进入‘Code Composer Studio’系统。
2.2 实例
下面以SEED-DEC6437做目标板为例:
目标板:SEED-DEC6437
DSP芯片:TMS320F2812
仿真器:SEED-XDS510PLUS
CCS版本:CCS V3.3.82
1、 在Windows XP下装载CCS V3.3版本,设置安装路径: C:\CCStudio_v3.3。
2、 在安装CCS的相同路径下装载仿真器的驱动SEED-XDS510Plus Emulator for CCS3.3 Below.exe。
3、 设置仿真器硬件:
i. 用所提供的USB连接线将XDS510PLUS仿真器与电脑主机相连。
ii. 将XDS510PLUS仿真器与目标系统相连。
iii. 将XDS510PLUS仿真器和目标系统上电。
4、 设置Code Composer Studio软件: 在桌面上双击‘Setup CCStudio v3.3’图标。
i. 在‘Family Series’中选择“C64X+”。
ii. 在‘Platform Series’选择‘SEEDXDS510PLUS emulator’。
左栏‘System Configuration’中。
5、 存储已配置好的仿真驱动,退出‘Setup’并进入CCS软件。
序列名称数量
1 SEED-XDS510PLUS仿真器 1
2 电缆-USB-MINI/5P 1
3 安装光盘 1。