applicationContext_service.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.0.xsd
http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-3.1.xsd">
<!--定时任务 -->
<task:annotation-driven/>
<context:annotation-config/>
<beanclass="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<context:component-scanbase-package="com.test"/>
</beans>
Star.java
publicenum Star
{
Aries,//白羊座
Taurus,//金牛座
Gemini,//双子座
Cancer,//巨蟹座
Leo,//狮子座
Virgo,//处女座
Libra,//天秤座
Scorpio,//天蝎座
Sagittarius,//射手座
Capricorn,//魔羯座
Aquarius,//水瓶座
Pisces//双鱼座
}
StarSign.java
publicclass StarSign
{
private Stringstar;//星座
private StringRemind;//提醒
private StringTodo;//去做
private StringdontTo;//别做
public String getStar() {
returnstar;
}
publicvoid setStar(Stringstar) {
this.star =star;
}
public String getRemind() {
returnRemind;
}
publicvoid setRemind(Stringremind) {
Remind =remind;
}
public String getTodo() {
returnTodo;
}
publicvoid setTodo(Stringtodo) {
Todo =todo;
}
public String getDontTo() {
returndontTo;
}
publicvoid setDontTo(StringdontTo) {
this.dontTo =dontTo;
}
@Override
public String toString() {
return"StarSign[star=" +star + ", Remind=" +Remind + ", Todo="
+Todo +",dontTo=" + dontTo + "]";
}
}
TimingiesUtils.java
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.util.Properties;
public classTimingiesUtils {
public TimingiesUtils() {
}
private static Properties props = newProperties();
static {
try {
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("timing.properties"));
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getValue(Stringkey) {
returnprops.getProperty(key);
}
public static voidupdateProperties(String key, String value) {
props.setProperty(key,value);
}
}
timing.properties
timing=1
StarSignImpl.java
importorg.jsoup.Jsoup;
importorg.jsoup.nodes.Document;
importorg.springframework.scheduling.annotation.Scheduled;
importorg.springframework.stereotype.Component;
importcom.alibaba.fastjson.JSON;
importcom.cn.redis.utils.RedisUtil;
@Component //import org.springframework.stereotype.Component;
public classStarSignImpl{
@Scheduled(cron = " 0 0 0 * * ?") //每天0点执行一次
public void myTest() {
if("1".equals(TimingiesUtils.getValue("timing")))
{
try {
for (int i= 1; i < 13; i++)
{
StarSignstarSign = new StarSign();
Stringurl = "http://astro.sina.cn/fortune/starent?type=day&ast=" + i;
DocumentStarDoc = Jsoup.connect(url).get();
Stringstar = StarDoc.select("p").get(0).text();
Stringremind = StarDoc.select("p").get(12).text().substring(2);
StringtoDo = StarDoc.select("p").get(13).text().substring(2);
StringdontDo = StarDoc.select("p").get(14).text().substring(2);
starSign.setStar(star.toString());
starSign.setRemind(remind.toString());
starSign.setTodo(toDo.toString());
starSign.setDontTo(dontDo.toString());
if(Star.Aries.equals(star))
{
RedisUtil.setValue("Aries",JSON.toJSONString(starSign));
}else if (Star.Aries.equals(star))
{
RedisUtil.setValue("Aries",JSON.toJSONString(starSign));
}
switch(Star.values()[(byte) (i - 1)])
{
caseAries:
RedisUtil.setValue("Aries",JSON.toJSONString(starSign));
break;
caseTaurus:
RedisUtil.setValue("Taurus",JSON.toJSONString(starSign));
break;
caseGemini:
RedisUtil.setValue("Gemini",JSON.toJSONString(starSign));
break;
caseCancer:
RedisUtil.setValue("Cancer",JSON.toJSONString(starSign));
break;
caseLeo:
RedisUtil.setValue("Leo",JSON.toJSONString(starSign));
break;
caseVirgo:
RedisUtil.setValue("Virgo",JSON.toJSONString(starSign));
break;
caseLibra:
RedisUtil.setValue("Libra",JSON.toJSONString(starSign));
break;
caseScorpio:
RedisUtil.setValue("Scorpio",JSON.toJSONString(starSign));
break;
caseSagittarius:
RedisUtil.setValue("Sagittarius",JSON.toJSONString(starSign));
break;
caseCapricorn:
RedisUtil.setValue("Capricorn",JSON.toJSONString(starSign));
break;
caseAquarius:
RedisUtil.setValue("Aquarius",JSON.toJSONString(starSign));
break;
casePisces:
RedisUtil.setValue("Pisces",JSON.toJSONString(starSign));
break;
default:
break;
}
}
System.out.println(RedisUtil.getByKey("Pisces"));
} catch (Exceptione) {
e.printStackTrace();
}
}
}
}