`

java工作笔记一 Maven,Guice , Mena的简单使用 ,Eclipse必会快捷键

    博客分类:
  • Java
阅读更多
  各位关注我的博友们好,本人已经转java了,经过一个多月的求职,终于找到了自己满意的工作,感觉自己学习能力强点之外,经验还需要很长时间的积累,为了提升自己同时也给需要学习java的同志一些借鉴,打算把我的工作笔记放上来提供参考,希望能指正不足的地方,共同进步。
一,Maven
作用:管理Java类库,管理依赖,可以很好的控制依赖项的版本,并且项目中不存在具体依赖lib,只有对于依赖的描述,来源也可以很好的集中控制。
1, 安装
1) 下载maven的包 地址可百度
2) 解压到任意目录,然后设置环境变量 m2_home 值是maven的解压路径。
3) 加到path中来 %m2_home%/bin
4) 测试 mvn –version 出现版本信息则安装成功
2, 创建工程,并转换成eclipse项目 
1) 打开dos窗口,cd指令进入项目的存放的路径,比如d:\work\mav
2) 打命令建立maven项目 mvn archetype:generate Dgroupld com.lifc Dartifactld hellomav 在执行过程中可能要重新输入,输入的groupld是组织或者包名,artifactld是项目名
3)转换为Eclipse项目 Mvn eclipse:eclipse
3, 导入到eclise中
打开eclipse,file,import,选择maven Existing Project ,finish就完成了导入
4, 使用eclipse创建maven项目
首先请正确的安装Eclipse的maven插件,然后按照如下步骤:
1) 创建maven索引 window-show view-other-maven-maven repository 重新建立本地和全局的maven仓库索引
2) 创建maven项目 File-new-maven-maven project –next –all category –quickstart –填写组织和项目名称指定版本和包结构-finish
3) 打开pom.xml,增加一个倚赖库gccp integration,保存之后,编写代码
 

18 package com.sthr.tutorial;
19 import com.sthr.integration.BootActivator;
20 import com.sthr.integration.SimpleBootActivator;
26 public class App implements BootActivator
27 {
28     private static final BootActivator activator=new SimpleBootActivator(new App());
29    
30     public static void main( String[] args ) throws Exception
31     {
32       activator.start(args);
33     }
34
35     @Override
36     public void start(String[] arg0) throws Exception {
37         // TODO Auto-generated method stub
38           System.out.println( "Hello World!" );
39     }
40 }


4),编写配置文件 ,然后运行代码类 (代码略)
5, maven项目开发插件步骤
1) 新建maven项目,打开pom.xml,增加项目的倚赖库。
2) 在src/main/java中编写代码文件,继承自HotSwapModuleAdapter,里面只有一个必须实现的configuation方法,在里面可以配置加载的服务。
代码如下:protected Iterable<? extends Module> configure() throws Exception {
       return Lists.newArrayList(new AbstractServiceModule(){     @Override
           protected void configureServices() {
              //业务方法
           }
});
3) 在pom.xml中,配置<forClass>com.sthr.tutorial.FirstPluginAdapter</forClass>
<forModuleRepo>.example</forModuleRepo>
4) 编译打包,即可共其它maven项目当作插件调用。
二,Guice简单使用
轻量级的,基于java5的泛型和注释的倚赖注入框架(ioc)
下面记录一个最简单的使用过程。
1.      下载Guice的应用包和源码包。
2.      新建java项目,写个接口,写个实现类,还有一个使用这个接口的业务逻辑类。
package com.guice.service;

public interface PrintService {
  
    String print(String str);

}
import com.guice.service.PrintService;

public class PrintServiceImp implements PrintService {

    public String print(String str) {
     
       System.out.println(str);
     
       return str;
    }

}
package com.guice.service.client;

import com.google.inject.Inject;
import com.guice.service.PrintService;

public class Client {
  
    String str="Hello world!";
  
    PrintService printService;
  
    @Inject
    public void setPrintService(PrintService printService)
    {
       this.printService=printService;
    }
  
    public void printString()
    {
       printService.print(str);
    }
}
3.       引入Guice所需要的包,javax.inject.jar和 guice-3.0.jar
4.      编写模块类
package com.guice.service.module;

import com.google.inject.Binder;
import com.google.inject.Module;
import com.guice.service.PrintService;
import com.guice.service.imp.PrintServiceImp;

public class MyModule implements Module {

    public void configure(Binder binder) {

       binder.bind(PrintService.class).to(PrintServiceImp.class);
    }
}
写测试类
   import com.google.inject.Guice;
import com.google.inject.Injector;
import com.guice.service.module.MyModule;

public class Test {

    public static void main(String[] args) {
     
       MyModule myModule=new MyModule();
     
       Injector injector=Guice.createInjector(myModule);
     
       Client client=new Client();
     
       injector.injectMembers(client);
     
       client.printString();
    }

}
结果是可以完成guice版本的helloworld,然后我抽象下Guice的执行过程。首先,创建一个我们需要的模块,传给Guice.createInjector(),这个时候会生成一个Binder对象来实现接口和实现类的绑定,然后产生一个Injector出来,用这个Injector可以完成向业务逻辑类注入对象的服务,注入之后可以正常调用业务逻辑方法了。
三, mima的简单使用
1) 引入相应的包 mina-core-2.0.4.jar 和slf4j-api-1.6.1.jar
2) 写一个服务器端
    IoAcceptor acceptor=new NioSocketAcceptor();
     
       LoggingFilter lf=new LoggingFilter("testLog");
     
       acceptor.getFilterChain().addLast("logger", lf);
     
       acceptor.getFilterChain().addLast("decode", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
     
       acceptor.getSessionConfig().setReadBufferSize(100);
       acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
     
       acceptor.setHandler(new MyHandler());
     
       acceptor.bind(new InetSocketAddress(5000));
     
       System.out.println("服务器监听···");
3) 编写信息处理类
class MyHandler extends IoHandlerAdapter {
     static Logger logger = LoggerFactory.getLogger(TimeServerHandler.class);
    //static Logger logger = Logger.getLogger(TimeServerHandler.class);
    //异常处理
    public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
        cause.printStackTrace();
    }
    //对接收到的数据进行业务处理,在这里我们不管收到什么信息都返回一个当前的日期
    public void messageReceived(IoSession session, Object message) throws Exception {
        String str = message.toString();
      
        if (str.trim().equalsIgnoreCase("quit")) {
            session.close(true);
            return;
        }
        else
        {
        System.out.println("getdata: "+str);
        }
        logger.debug("Rec:" + str);
        Date date = new Date();
        session.write(date.toString());
        logger.debug("Message written...");
    }
    //当连接空闲时的处理
    public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
        logger.debug("IDLE " + session.getIdleCount(status));
    }
}

4) 可以使用dos模拟访问服务器
四,Eclipse必会快捷键
Alt+/:代码提示
Ctrl+/:注释/取消注释
Ctrl+D:删除光标所在行
Shift+Ctrl+F:代码格式化。如果选择了代码,仅对所选代码格式化
Shift+Ctrl+X:将所选字符转为大写
Shift+Ctrl+Y:将所选字符转为小写
Ctrl+M:快速对当前视图最大化
Ctrl+单击:可以跟踪方法和类的源码
Ctrl+鼠标停留:可以显示类和方法的源码
双击左括号(小括号、中括号、大括号),将选择括号内的所有内容。
Ctrl+1:光标停在某变量上,按Ctrl+1键,可以提供快速重构方案。选中若干行,按Ctrl+1键可将此段代码放入for、while、if、do或try等代码块中。
F3:打开声明该引用的文件
F4:打开类型层次结构
F5:单步跳入
F6:单步跳过
F7:单步跳出
F8:继续,如果后面没有断点,程序将运行完
Ctrl+H:打开搜索窗口
Ctrl+Shift+S:保存全部
Alt+Left:回退一步[[BR]] Alt+Right:前跳一步[[BR]] Ctrl+Shift+T:打开类型
Ctrl+Shift+R:打开资源
Ctrl+Q:回到最后一次编辑的地方
Ctrl+Shift+G: 在workspace中搜索引用
Ctrl+Alt+Down: 复制高亮显示的一行或多行
Alt+Up(Down):将一行或者多行向上或者向下移动
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
Ctrl+Shift+R 查找文件
Ctrl+Shift+T 查找类
下面的快捷键是重构里面常用的
Alt+Shift+R 重命名
Alt+Shift+M 抽取方法
Alt+Shift+C 修改函数结构
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
分享到:
评论
1 楼 yun_hua_yu 2012-07-03  
看了maven  和guice部分  是想学学

相关推荐

    java视频教程之SVN Maven搭建自动化构建教程 Eclipse中使用Maven

    java视频教程之SVN Maven搭建自动化构建教程 Eclipse中使用Maven视频教程云盘下载链接

    maven java maven Eclipse 环境构建

    Eclipse 会自动查找 `M2_HOME` 环境变量中的本地仓库位置,如果在 `settings.xml` 中修改了本地仓库路径,Eclipse 会使用修改后的路径。Maven 插件提供了丰富的功能,包括构建、依赖管理、项目信息展示等,使得...

    eclipse常用快捷键总结

    本文档总结了eclipse中常用快捷键,能够有效提高开发效率。

    eclipse笔记_itselfizg_配置_Eclipse开发工具_maven_Eclipse_

    在使用任何Eclipse版本时,第一步通常是进行个性化设置,包括界面主题、字体大小、快捷键布局等,以适应个人的工作习惯。 接下来,我们进入"Eclipse开发工具"的配置。Eclipse支持多种语言的开发,但在这里我们主要...

    ECLIPSE MAVEN3插件文件(eclipse-maven3-plugin工具)

    ECLIPSE MAVEN3插件文件(eclipse-maven3-plugin工具)

    eclipse-maven3-plugin

    **eclipse-maven3-plugin** 是一个专门为 Eclipse IDE 设计的插件,它允许开发者在 Eclipse 开发环境中无缝集成 Maven 构建工具。Maven 是一个项目管理和综合工具,广泛用于 Java 应用程序的构建、依赖管理和项目...

    使用Eclipse构建Maven项目 配套示例项目源码

    在本文中,我们将深入探讨如何使用Eclipse IDE创建和管理Maven项目,同时结合"使用Eclipse构建Maven项目.pdf"中的配置示例项目源码,来进一步理解这个过程。Maven是一个强大的Java项目管理和构建工具,而Eclipse是广...

    maven的安装文件以及集成TOMCAT、eclipse的教程

    Maven是Java开发中的一个项目管理工具,它主要负责构建、依赖管理和项目信息管理。本教程将详细介绍如何安装Maven,以及如何在Eclipse集成Maven和Tomcat,帮助开发者更高效地进行Java Web项目的开发。 **一、Maven...

    eclipse快捷键及设置

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它提供了丰富的功能和高度可定制性,其中快捷键的设置是提升开发效率的重要环节。本篇将详细探讨Eclipse中的快捷键及其设置方法。 首先,Eclipse的快捷键是其高效...

    使用eclipse构建maven

    在Java开发领域,Maven是一个广泛使用的项目管理和构建自动化工具,它简化了依赖管理和构建流程。Eclipse作为流行的Java集成开发环境(IDE),通过集成Maven插件m2eclipse,使得开发者可以在Eclipse内部方便地管理...

    maven-3.0.5安装包&eclipse-maven插件

    Maven是Java世界中的一款项目管理和综合工具,它简化了构建过程,通过统一的构建机制以及依赖管理和项目信息管理,使得项目构建变得更加规范和便捷。在本压缩包中,包含的是Maven 3.0.5的安装包以及Eclipse的Maven...

    maven的安装和在eclipse中配置

    Maven是一个强大的项目管理和构建工具,它通过一个中央仓库管理依赖关系,使得Java开发变得更加规范和便捷。在本文中,我们将详细讲解如何安装Maven以及如何在Eclipse集成开发环境中配置Maven插件。 ### Maven的...

    maven Integration for Eclipse

    总结来说,m2eclipse作为Eclipse的Maven插件,极大地提高了Java开发者的工作效率,它将Maven的强大功能与Eclipse的优秀开发环境完美结合,让开发者能够更加专注于代码编写,而不是项目管理和构建过程。

    maven3.3.9及相关eclipse插件

    Eclipse 是一款广泛使用的Java集成开发环境(Integrated Development Environment,IDE)。为了在 Eclipse 中更好地利用 Maven,通常会安装 Maven 插件,如 M2E(Maven Integration for Eclipse)。M2E 插件将 Maven...

    Maven 2 Eclipse Plugin

    1. **项目导入**:允许用户直接导入现有的Maven项目到Eclipse工作空间,或者从Eclipse新创建一个基于Maven的项目。 2. **依赖管理**:自动下载项目所依赖的库文件,并管理它们在项目的类路径中的位置。用户可以通过...

    eclipse 创建maven项目 选择 archetypes所用到的jar包

    在开发Java应用时,Eclipse是一款非常流行的集成开发环境(IDE),而Maven则是一个强大的构建工具,用于管理项目的依赖关系、构建流程等。当在Eclipse中创建一个Maven项目时,为了快速启动开发,我们可以选择使用...

    eclipse-maven内置

    Eclipse 是一个强大的集成开发环境(IDE),广泛用于Java编程。Maven 是一个项目管理和综合工具,主要用于构建、管理和依赖管理。"Eclipse-Maven 内置"指的是Eclipse集成Maven的功能,允许用户在Eclipse环境中直接...

    java8+eclipse+maven开发环境搭建

    本教程将详细介绍如何在Windows、Mac或Linux系统上搭建一个基于Java 8的Eclipse IDE开发环境,并结合Maven进行项目管理。 首先,我们需要安装Java Development Kit (JDK)。Java 8是开发环境的基础,提供了Java...

Global site tag (gtag.js) - Google Analytics