万字SpringBoot学习笔记|菜鸟版
Spring Boot是Pivotal团队在Spring的基础上提供的一套全新的开源框架,其目的是为了简化Spring应用的搭建和开发过程。Spring Boot去除了大量的XML配置文件,简化了复杂的依赖管理。
Spring Boot是简化Spring应用开发的一个框架、整个Spring技术栈的一个大整合(Spring全家桶时代)、J2EE开发的一站式解决方案(Spring Cloud是分布式整体解决方案)。优点:– 快速创建独立运行的Spring项目以及与主流框架集成– 使用嵌入式的Servlet容器,应用无需打成WAR包– starters自动依赖与版本控制– 大量的自动配置,简化开发,也可修改默认值– 无需配置XML,无代码生成,开箱即用– 准生产环境的运行时应用监控– 与云计算的天然集成
– 单体应用:ALL IN ONE(所有内容都在一个应用里面)– 微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元微服务是一种架构风格(服务微化),一个应用应该是一组小型服务,可以通过HTTP的方式进行互通
工程创建及案例可以参考文章进行操作:在IDEA中创建SpringBoot项目
父项目是Spring Boot的版本仲裁中心(他来真正管理Spring Boot应用里面的所有依赖版本),以后我们导入依赖默认是不需要写版本(没有在dependencies里面管理的依赖自然需要声明版本号)
启动器 spring-boot-starter(spring-boot场景启动器),spring-boot-starter-web 帮我们导入了web模块正常运行所依赖的组件。
Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器。
@SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot 就应该运行这个类的main方法来启动SpringBoot应用。
SpringBoot使用一个全局的配置文件,配置文件名固定:application.properties 或者 application.yml。配置文件放在 src/main/resources目录 或者 类路径/config 下。作用是修改SpringBoot自动配置的默认值。
YAML(YAML Ain\’t Markup Language),.yml为结尾,以数据为中心,比json、xml等更适合做配置文件。
【语法】key: value(注意冒号后面有个空格)以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级
【值写法】
(1)字面量:普通的值(数字,字符串,布尔)
- k: v,字面量直接写
- 字符串默认不用加上单引号或者双引号
- \”\”(双引号),name: \”zhangsan \\n lisi\” 会输出 zhangsan 换行 lisi
- \’\’(单引号),name: \’zhangsan \\n lisi\’ 会输出 zhangsan \\n lisi
(2)对象、Map
- k: v,在下一行来写对象的属性和值
(3)数组(List、Set)
- 用- 值表示数组中的一个元素
1)导入配置文件处理器
2)javaBean对象@ConfigurationProperties(prefix = \”person\”) 会将配置文件和类进行绑定:
3)配置文件 application.yml
或者配置文件application.properties
乱码问题还需要配置:
4)单元测试,先将内容注入(@Autowired)然后使用
@ConfigurationProperties 与 @Value 的区别:
- @ConfigurationProperties 是批量注入配置文件中的属性,@Value 是一个个指定
- @ConfigurationProperties 支持松散绑定(松散语法) 、不支持SpEL(表达式如#{2*4})、支持JSR303数据校验 、支持复杂类型封装(如map)
- @Value 不支持松散绑定(松散语法) 、支持SpEL、不支持JSR303数据校验 、不支持复杂类型封装
松散绑定:– person.firstName:使用标准方式– person.first-name:大写用-– person.first_name:大写用_– PERSON_FIRST_NAME:推荐系统属性使用这种写法JSR303数据校验:
使用规则:
- 如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value
- 如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties
@PropertySource:加载指定的配置文件
@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效–标注在一个配置类上如下我们自己编写的配置文件:
我们可以标注在主配置类上:
测试:
SpringBoot推荐给容器中添加组件的方式,推荐使用全注解的方式 @Configuration
随机数
占位符获取之前配置的值,如果没有可以是用:指定默认值
Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活、指定参数等方式快速切换环境。 多profile文件形式格式如:application-{profile}.properties/yml,如 application-dev.properties、application-prod.properties
默认使用application.properties的配置
激活方式:
- 命令行 –spring.profiles.active=dev java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar –spring.profiles.active=dev;
- 配置文件 spring.profiles.active=dev
- jvm参数 –Dspring.profiles.active=dev
yml支持多文档块方式:
spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件
- file:./config/
- file:./
- classpath:/config/
- classpath:/
以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。 可以通过配置spring.config.location来改变默认配置。项目打包好以后,可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置:java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –spring.config.location=G:/application.properties
Spring Boot支持多种外部配置方式,优先级从高到低。高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置:
- 命令行参数 所有的配置都可以在命令行上进行指定:java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –server.port=8087 –server.context-path=/abc 多个配置用空格分开; –配置项=值
- 来自java:comp/env的JNDI属性
- Java系统属性(System.getProperties())
- 操作系统环境变量
- RandomValuePropertySource配置的random.*属性值
由jar包外向jar包内进行寻找。优先加载带profile:
- jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
- jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
再来加载不带profile:
- jar包外部的application.properties或application.yml(不带spring.profile)配置文件
- jar包内部的application.properties或application.yml(不带spring.profile)配置文件
- @Configuration注解类上的@PropertySource
- 通过SpringApplication.setDefaultProperties指定的默认属性
自动配置原理:1)Spring Boot启动时加载主配置类(带有@SpringBootApplication),其里面开启了自动配置功能@EnableAutoConfiguration。
2)@EnableAutoConfiguration利用@Import(AutoConfigurationImportSelector.class)给容器导入一些组件。导入的组件是通过List configurations = getCandidateConfigurations(annotationMetadata, attributes);获取到的。里面通过SpringFactoriesLoader.loadFactoryNames 扫描所有jar包类路径下\”META-INF/spring.factories\”,把扫描到的这些文件的内容包装成properties对象,从properties中获取到EnableAutoConfiguration.class类(类名)对应的值,然后把他们添加在容器中。其实就是将类路径下 META-INF/spring.factories 里面配置的所有EnableAutoConfiguration的值加入到了容器中。每一个这样的 xxxAutoConfiguration 类都是容器中的一个组件,都加入到容器中;用他们来做自动配置。
3)每一个自动配置类进行自动配置功能 4)以HttpEncodingAutoConfiguration配置类进行分析:
根据当前不同的条件判断,决定这个配置类是否生效一但这个配置类生效,这个配置类就会给容器中添加各种组件,这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性又是和配置文件绑定的 5)、所有在配置文件中能配置的属性都是在xxxxProperties类中封装着,配置文件能配置什么就可以参照某个功能对应的这个属性类
使用精髓: 1)、SpringBoot启动会加载大量的自动配置类 ;2)、我们看我们需要的功能有没有SpringBoot默认写好的自动配置类;3)、我们再来看这个自动配置类中到底配置了哪些组件(只要我们要用的组件有,我们就不需要再来配置了) 4)、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可以在配置文件中指定这些属性的值; xxxxAutoConfigurartion:自动配置类; 给容器中添加组件xxxxProperties:封装配置文件中相关属性
作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效也就是说,自动配置类必须在一定的条件下才能生效
想要查看生效的自动配置类,可以在配置文件中配置debug=true,positive为启动的,negative没启用的
市场上存在非常多的日志框架:JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback、SLF4j、jboss-logging等。 Spring Boot在框架内容部使用JCL,spring-boot-starter-logging采用了 slf4j+logback的形式,Spring Boot也能自动适配(jul、log4j2、logback) 并简化配置 SpringBoot底层是Spring框架,Spring框架默认是用JCL。SpringBoot选用SLF4j(日志抽象层)和logback(日志实现)
开发时日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法:
每一个日志的实现框架都有自己的配置文件。使用slf4j以后,配置文件还是做成日志实现框架自己本身的配置文件。如何让系统中所有的日志都统一到slf4j:
- 将系统中其他日志框架先排除出去
- 用中间包来替换原有的日志框架
- 我们导入slf4j其他的实现
添加依赖:
SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可
日志级别由低到高:trace<debug<info<warn<errorSpringBoot默认给我们使用的是info级别的(日志就只会在这个级别及以后的高级别生效),没有指定级别的就用SpringBoot默认规定的级别。日志输出格式:
- %d –表示日期时间
- %thread –表示线程名
- %‐5level –级别从左显示5个字符宽度
- %logger{50} –表示logger名字最长50个字符,否则按照句点分割
- %msg –日志消息
- %n –是换行符
修改默认级别:
日志配置:
给类路径下放上每个日志框架自己的配置文件即可,SpringBoot就不使用他默认配置的了
logback.xml:直接就被日志框架识别了; logback-spring.xml:日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能(激活对应环境下生效)
1)所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源
webjars:是以jar包的方式引入静态资源(网址:www.webjars.org/)
引入后访问:http://localhost:8080/webjars/jquery/3.3.1/src/jquery.js,就可以找到资源:
2) /** 访问当前项目的任何资源,都去「静态资源的文件夹」找映射
- \”classpath:/META‐INF/resources/\”
- \”classpath:/resources/\”
- \”classpath:/static/\”
- \”classpath:/public/\”
- \”/\”:当前项目的根路径
如,localhost:8080/abc,会去静态资源文件夹里面找abc
3)首页映射,静态资源文件夹下的所有index.html页面,被\”/**\”映射 localhost:8080/ ,会找index页面
4)所有的 **/favicon.ico 都是在静态资源文件下找
默认规则:只要我们把HTML页面放在classpath:/templates/,thymeleaf就能自动渲染
第一步)添加依赖
第二步)属性配置
第三步)创建thymeleaf模板文件创建success.html,放入classpath:/templates/文件夹下
第四步)编写控制器
第五步)访问页面访问http://localhost:8080/api/success,可以看到html页面内容
1)th:text:改变当前元素里面的文本内容(th:任意html属性:来替换原生属性的值)
2)表达式
Spring Boot 自动配置好了SpringMVC。以下是SpringBoot对SpringMVC的默认配置(WebMvcAutoConfiguration):
- Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans 自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象(View),视图对象决定如何渲染(转发或重定向)) ContentNegotiatingViewResolver:组合所有的视图解析器的 如果需要定制视图解析器:我们可以自己给容器中添加一个视图解析器,ContentNegotiatingViewResolver会自动的将其组合进来;
- Support for serving static resources, including support for WebJars 静态资源文件夹路径、webjars
- Static index.html support 静态首页访问
- Custom Favicon support favicon.ico
- 自动注册了 Converter , GenericConverter , Formatter beans. Converter:转换器,public String hello(User user):类型转换使用Converter Formatter:格式化器,2017.12.17===Date; 自己添加的格式化器转换器,我们只需要放在容器中即可(使用@Bean)
- Support for HttpMessageConverters HttpMessageConverter:SpringMVC用来转换Http请求和响应的;User—Json; HttpMessageConverters是从容器中确定,获取所有的HttpMessageConverter; 自己给容器中添加HttpMessageConverter,只需要将自己的组件注册容器中(**@Bean 或 @Component**)
- Automatic registration of MessageCodesResolver:定义错误代码生成规则
- Automatic use of a ConfigurableWebBindingInitializer bean 初始化web数据绑定器的,WebDataBinder。他的作用是把请求数据转换为JavaBean 我们可以配置一个ConfigurableWebBindingInitializer来替换默认的;(添加到容器)
扩展方式:编写一个配置类(@Configuration),是WebMvcConfigurerAdapter类型,不能标注@EnableWebMvc。既保留了所有的自动配置,也能用我们扩展的配置(SpringMVC的自动配置和我们的扩展配置都会起作用)
浏览器访问 http://localhost:8080/other , 可以看到成功映射到了success页面
@EnableWebMvc(不推荐使用)SpringBoot对SpringMVC的自动配置不需要了,所有都是我们自己配置。所有的SpringMVC的自动配置都失效了。我们需要在配置类中添加@EnableWebMvc即可
接管前通过http://localhost:8080/static.html可以访问静态页面,全面接管后静态页面的规则就失效了,我们就无法直接访问了
模式: 1)、SpringBoot在自动配置很多组件的时候,先看容器中有没有用户自己配置的 (@Bean、@Component)。如果有就用用户配置的,如果没有才自动配置。如果有些组件可以有多个(如ViewResolver),则将用户配置的和自己默认的组合起来;2)、在SpringBoot中会有非常多的xxxConfigurer帮助我们进行扩展配置3)、在SpringBoot中会有很多的xxxCustomizer帮助我们进行定制配置
方法1:在controller中添加访问路径的匹配规则
方法2:在配置类中注册组件到容器
第一步:编写国际化配置文件,抽取页面需要显示的国际化消息
第二步:SpringBoot自动配置好了管理国际化资源文件的组件我们的配置文件可以直接放在类路径下叫messages.properties,或者在application.properties里配置路径
第三步:使用#{}可以在页面上获取国际化的值
第四步:点击链接切换国际化
自己实现一个LocaleResolver,然后在配置类中注册组件到容器
实现效果:
配置类中添加一个试图映射
错误消息显示:
注册
三种引入公共片段的th属性:
- th:insert:将公共片段整个插入到声明引入的元素中
- th:replace:将声明引入的元素替换为公共片段
- th:include:将被引入的片段的内容包含进这个标签中
请求添加页面
添加页面的表单(见下方修改)员工添加功能
查询员工信息并回显
修改和添加是同一个页面:
修改功能
删除功能方法:
浏览器返回一个默认的错误页面
客户端请求默认返回JSON数据提示错误
一但系统出现4xx或者5xx之类的错误,ErrorPageCustomizer就会生效(定制错误的响应规则),就会来到/error请求,就会被BasicErrorController处理
1)有模板引擎的情况下:error/状态码。将错误页面命名为 错误状态码.html 放在模板引擎文件夹里面的error文件夹下,发生此状态码的错误就会来到对应的页面;我们可以使用 4xx 和 5xx 作为错误页面的文件名来匹配这种类型的所有错误。精确优先(优先寻找精确的状态码.html)页面能获取的信息:timestamp:时间戳、status:状态码、error:错误提示、exception:异常对象、message:异常消息、errors:JSR303数据校验的错误都在这里2)没有模板引擎(模板引擎找不到这个错误页面),静态资源文件夹下找;3)以上都没有错误页面,就是默认来到SpringBoot默认的错误提示页面;
1、方式1:自定义异常处理&返回定制json数据
缺点:没有自适应效果(浏览器和客户端请求返回的都是JSON数据)
2、转发到/error进行自适应响应效果处理
SpringBoot默认使用Tomcat作为嵌入式的Servlet容器
方式1:修改和server有关的配置(ServerProperties【本质也是EmbeddedServletContainerCustomizer】)
方式2:编写一个EmbeddedServletContainerCustomizer:嵌入式的Servlet容器的定制器,来修改Servlet容器的配置
由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件。 注册三大组件(Servlet、Filter、Listener)用以下方式:ServletRegistrationBean
FilterRegistrationBean
ServletListenerRegistrationBean
Tomcat(默认使用)
Jetty(开发长连接应用)
Undertow(不支持JSP)
Docker是一个开源的应用容器引擎,是一个轻量级容器技术。Docker支持将软件编译成一个镜像,然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。
- docker镜像(Images):Docker镜像是用于创建Docker容器的模板
- docker容器(Container):容器是独立运行的一个或一组应用
- docker客户端(Client):客户端通过命令行或者其他工具使用Docker API(docs.docker.com/reference/a…) 与 Docker 的守护进程通信,即:连接docker主机进行操作
- docker主机(Host):一个物理或者虚拟的机器用于执行Docker守护进程和容器。即:安装了Docker程序的机器(Docker直接安装在操作系统之上)
- docker仓库(Registry):Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(hub.docker.com) 提供了庞大的镜像集合供使用。
使用Docker的步骤:1)安装Docker2)去Docker仓库找到这个软件对应的镜像3)使用Docker运行这个镜像,这个镜像就会生成一个Docker容器4)对容器的启动停止就是对软件的启动停止
安装教程可参考:www.runoob.com/docker/maco…
流程:软件镜像(QQ安装程序)–>运行镜像–>产生一个容器(正在运行的软件,运行的QQ)
更多命令可查看:docs.docker.com/engine/refe…
示例(tomcat):
示例(mysql):
对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入各种xxxTemplate、xxxRepository来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。JDBC、MyBatis、JPA
配置:
测试代码:
数据源的相关配置都在DataSourceProperties源代码里面
SpringBoot默认可以支持:org.apache.tomcat.jdbc.pool.DataSource、HikariDataSource、BasicDataSource、自定义数据源类型。
配置文件里增加如下配置:
编写SQL并放在resources文件夹下面
启动springboot工程,刷新数据库,可以看到表成功创建(下次启动还是会创建,所以最好创建完毕后删除sql文件)
编写测试查询代码
引入依赖
修改配置文件
测试代码
配置生效:
引入上方的druid数据源配置文件:
建表语句:
创建JavaBean:Employee & Department
测试验证:
如果此时数据库里字段是(department_name),查询结果就展示不出来名字了:{\”id\”:1,\”departmentName\”:null}。如何开启驼峰命名法配置?方法是自定义MyBatis的配置规则,给容器中添加一个ConfigurationCustomizer:
另一个问题是,每个mapper上都需要标注@Mapper注解,自动扫描配置呢?
mybatis配置文件:
修改Spring配置文件增加如下内容:
测试方法:
使用参考:mybatis.org/spring-boot…
Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括非关系数据库、 Map-Reduce 框架、云数据服务等等,另外也包含对关系数据库的访问支持。SpringData 为我们提供使用统一的API来对数据访问层进行操作,这主要是Spring Data Commons项目来实现的。Spring Data Commons让我们在使用关系型或者非关系型数据访问技术时都基于Spring提供的统一标准,标准包含了CRUD(创建、获取、更新、删除)、查询、 排序和分页的相关操作。
统一的Repository接口:
- Repository<T, ID extends Serializable>:统一接口
- RevisionRepository<T, ID extends Serializable, N extends Number & Comparable>:基于乐观锁机制
- CrudRepository<T, ID extends Serializable>:基本CRUD操作
- PagingAndSortingRepository<T, ID extends Serializable>:基本CRUD及分页
提供数据访问模板类 xxxTemplate,如:MongoTemplate、RedisTemplate等
1)、编写一个bean实体类和数据表进行映射,并且配置好映射关系;
2)、编写一个Dao接口来操作实体类对应的数据表(Repository)
3)、基本的配置
4)、启动工程,自动生成数据表:
5)、测试
请求http://localhost:8080/user?name=haha&email=qqqq@qq.com会进行日志输出:Hibernate: insert into tbl_user (email, name) values (?, ?)
SpringApplication.run(主程序类)1、 创建SpringApplication对象;这一步主要是加载并保存所有的 ApplicationContextInitializer 和 ApplicationListener,并获取到主程序类2、运行run()方法;回调所有的SpringApplicationRunListener的starting、准备环境、创建ioc容器对象(web环境容器和普通环境容器)
1、准备环境
- 执行ApplicationContextInitializer. initialize()
- 监听器SpringApplicationRunListener回调contextPrepared
- 加载主配置类定义信息
- 监听器SpringApplicationRunListener回调contextLoaded
2、刷新启动IOC容器
- 扫描加载所有容器中的组件
- 包括从META-INF/spring.factories中获取的所有EnableAutoConfiguration组件
3、回调容器中所有的ApplicationRunner、CommandLineRunner的run方法
4、监听器SpringApplicationRunListener回调finished
编写自动配置:
设计模式:启动器starter只用来做依赖导入;专门写一个自动配置模块,启动器依赖这个自动配置模块;自定义启动器名-spring-boot-starter
[Eclipse篇]05.从菜鸟开始のSpket插件.md
胖先生: 一个人的孤独!
支持Extjs4.1.1及jQuery1.8.3
spket官网下载最新的jar安装包
当前最新的是spket 1.6.23,好像不再更新了
spket官网下载地址:http://www.spket.com/download.html
下载spket的破解补丁
spket1.6.23可用的破解补丁的下载地址:包含所有的资料
https://yunpan.cn/cS5vTxtYFpcDt 访问密码 229f
安装spket插件
1.运行spket1.6.23.jar安装包
2.选择MyEclipse/Eclipse的安装目录,千万要注意的是必须放在 目录下,否则插件会无法加载。
3.选择Spket的安装目录
4.安装完成
5.将破解补丁解压后直接覆盖spket\\eclipse\\features下的com.spket.ui_1.6.23文件夹
6.提供的目录,请好好看一下
7.打开MyEclipse或Eclipse,Window->Perference,如果这时候你可以看到Spket选项,那就恭喜你Spket你已安装成功。
配置JQuery智能提示
1.jQuery官网下载jquery-1.8.3.js
最高版本就支持这里
http://jquery.com/ 下载开发版本
注意
:要智能提示的Library必须是开发版的,min版本的亲测智能提示不完整
2.配置jquery的Library
3.测试一下,只能在JS文件中有提示
4.添加$符触发提示(jquery应用)
配置Extjs4.1.1的智能提示
1.添加的Extjs的步骤可以参考Spket官网的介绍
2.下载修复后的sdk.jsb3并替换掉build下的sdk.jsb3
Extjs4.1.1默认提供的sdk.jsb3是错误的,它的路径配置都是错的,具体错在哪就不多说了,我提供个修改过的可用的供大家下载使用。
sdk.jsb3下载地址:http://download.csdn.net/detail/czw2010/4918164
3.测试,新建JS文件,右键Open With -> Spket JavaScript Editor打开
懒人方案
如果觉的麻烦,使用我提供已经破解完毕的文件夹,直接覆盖dropins文件夹即可
https://yunpan.cn/cS5vTxtYFpcDt 访问密码 229f
[Eclipse篇]04.从菜鸟开始のAptana插件.md
这篇文章有点偷懒了,但是亲自测试成功! 过程有点复杂!
今天是教师节,胖哥从来没有把自己当成老师,只是大家都是朋友而已
虽然年龄有了代沟,因为跟你们的相处没有那么累,自己变的简单了!
可能就惧怕外边的世界了! 好好做好自己的事情!
胖先生,只是用心的做好自己的事情,不混弄每个人!老实做事!
其实有的时候真的不知道自己想要什么或者说自己想得到什么?得过且过?我爱专研吗?答案肯定是否定的,我是一个很懒的人,不爱运动!那么我为什么还要在这个城市里面继续生活呢?有意思吗?没有意思吗?是一个问题?
困
昨天学习了两种对插件的备份方式,这种方式希望以后跟大家分享,但是绝对值得一用,如果你使用的是Maven和Gradle也是可以的,我使用的Eclipse,对于Intellij的强大我就不说了[有点小别扭],昨天折腾了好久,算是搞定了吧!还是Google大神靠谱,该解决的都解决了,我也是比较喜欢的!
Aptana IDE 填坑
Aptana的官网 , 我们需要去这里进行下载,我尝试了下载Aptana提供的Eclipse的在线安装方式,各种少包,各种折腾并且我再Eclipse的插件市场中也在线安装,没有成功,据说需要单独去挨个的下载包,抱歉,不喜欢,特别的不喜欢!
因此,我把Aptana IDE下载下来的安装,我记得3.4版本之前的安装So Easy ! 但是好像之后因为集成了什么NodeJS等
安装
NodeJS和Git如果直接安装,抱歉你将需要按照以下的步骤完成!
-
安装Nodejs环境
-
安装Git的环境
填坑
Stack Overflow 是最好的IT问答网站,没有之一!虽然我的英语很差!英语好就业难的各位同学可以来学习Java或者编程,绝对物超所值!
解决方案:进入下载的目录,请注意不要使用中文
方案一: 运行命令如下
//Installing Aptana Studio in passive mode bypasses the installation of Git for Windows and Node.js._
cmd -> Aptana_Studio_3_Setup_3.6.1.exe /passive /norestart
这种方式:好像不能运行,但是能获取我想要的plugins和features
(I am unsure whether Aptana Studio will work properly without those \”prerequisites\”, but it appears to.)
方案二: 运行命令如下
// 我使用的是这种方式:也可以理解为解压并且能运行,需要配置vm属性,呵呵!不做重点,反正我也不用!
// If you want a global installation in a specific directory, the command line is
Aptana_Studio_3_Setup_3.6.1.exe /passive /norestart ALLUSERS=1 APPDIR=c:\\apps\\AptanaStudio
Eclipse的插件安装
Eclipse的插件安装大致上有三种方式
-
在线安装[个人不怎么推荐,因为有时候跟原来的弄的混淆了不喜欢!其实也是能解决的!]
-
使用Link方式安装[好久的事情了,也淡忘了!]
-
dropins文件夹方式,安装简单方便,不要了就直接删除即可!傻瓜式操作!
dropins 文件夹
在Eclipse的dropins下新建文件夹 Aptana [ ],在Aptana的文件夹下,新建文件夹 eclipse [ ],把之前的标注的features 和 plgins 文件夹复制到新建的eclipse文件夹下
启动Eclipse
好困啊,如果觉得可以,记得打赏一下!辛苦费哟!呵呵!好吧我们看一下界面!
window -> preference -> Aptana Studio[增加]
里面有很多的配置,其实跟我们没有多大关系,但是你要知道的是它里面Theme是可以配置的,根据你的喜好选择,我是默认!因为你会发现原来现实的JSP页面或者说HTML页面高亮显示已经变了!
1. 点击Install Bundle 2. 弹出页面选择Jquery3. 通过网络下载Jquery插件备注:最后的那个插件也是神器哟!
JS文件打开方式[略过]
吐槽
发现不管是Spket和Aptana都是对JS文件的提供提示化的工具,以前使用过的JSEclipse也差不多,多多少少都有一些缺陷!另一个方面就是说我们写的代码是不规范的,应该都把JS脚本写入在JS文件当中,方便以后的压缩
发现它现在支持的版本竟然不如Spket的,但是关于提示方面别Spket又好不少!怎么说呢?萝卜青菜各有所爱吧!
小秘密
如果上述操作,还没有提示的话!那么你需要进行如下操作, 选择你的项目,右键选择properties ,如下图进行设置
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。