Java开机自启动代码 java开机自启动代码怎么写( 二 )


2)使用jregistrykey直接操作注册表,这也是一个第三方类库,提供了直接操作注册表的功能,上网查也有很多资料 。
3)自己写DLL,通过JNI调用 。其实上面两个类库,都是通过JNI方式提供的 。
第一种,一般用作服务器程序,托盘方式或者无界面的,你的程序可能比较合适第二种方式 。需要操作'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run'
简单例子
//注册表位置
String regdir = "\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//名字
String rname="myRun";
//执行程序,可以做成批处理,或者转成exe,总之能够运行你程序的路径
String rexe="c:\\run.bat";
RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE, regdir);
RegistryValue vlaue1=new RegistryValue(rname,ValueType.REG_SZ,rexe);
r.setValue(vlaue1);
如何把自己写好的一个Java程序在windows上设置为开机启动运行可以手动设置
开机启动项
Java开机自启动代码,把需要开机启动的程序勾选上就可以Java开机自启动代码了 。第一步Java开机自启动代码:点击桌面左下角的“开始“;
第二步:在搜索框中输入”msconfig.exe“Java开机自启动代码,回车;
第三步:在打开的对话框中选择“启动”

第四步:把想开机启动的程序前面的勾勾选上Java开机自启动代码 , 之后点击“应用”即可 。
java Web 启动时自动执行代码的几种方式Web容器启动后执行代码的几种方式
其执行顺序为:
4===5===1===2===3
即指定init-method的Bean开始执行
接着实现spring的Bean后置处理器开始执行
然后是Servlet的监听器执行
再接下来是Servlet的过滤器执行
最后才是Servlet执行
1、实现Servlet监听器接口ServletContextListener
[java] view plain copy
public class InitListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent context) {
}
@Override
public void contextInitialized(ServletContextEvent context) {
// 上下文初始化执行
System.out.println("================[ServletContextListener]自动加载启动开始.");
SpringUtil.getInstance().setContext(
span style="white-space:pre"/spanWebApplicationContextUtils.getWebApplicationContext(arg0.getServletContext())
span style="white-space:pre"/span);
}
}
然后在web.xml文件配置该监听器
[html] view plain copy
listener
listener-classcom.test.init.InitListener/listener-class
/listener
2、实现Servlet的过滤器Filter
[html] view plain copy
public class InitFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException,
ServletException {
}
@Override
public void init(FilterConfig config) throws ServletException {
System.out.println("================[Filter]自动加载启动开始.");
// 读取Spring容器中的Bean[此时Bean已加载,可以使用]
//写启动需要执行的代码
System.out.println("================[Filter]自动加载启动结束.");
}
}
然后在web.xml文件配置过滤器即可
[html] view plain copy
filter
filter-nameInitFilter/filter-name
filter-classcom.test.init.InitFilter/filter-class
/filter
filter-mapping
filter-nameInitFilter/filter-name
url-pattern//url-pattern
/filter-mapping
3、编写一个Servlet,在web.xml里面配置容器启动后执行即可
[html] view plain copy
public class InitServlet extends HttpServlet {
/**
*/
private static final long serialVersionUID = 1L;

推荐阅读