是的,quartz有個(gè)復(fù)雜的配置文件,當(dāng)配置使用數(shù)據(jù)庫,并且正確指定數(shù)據(jù)庫jdbc參數(shù)后,quargz會(huì)自己保存job到數(shù)據(jù)庫里,甚至可以配成cluster。 你找下你classpath下的quartz的配置文件,一般可以看到這樣的內(nèi)容就是干這個(gè)的:
org.quartz.dataSource.quartzDataSource.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.quartzDataSource.URL = jdbc:mysql://localhost:3306/db1.root用戶沒問題嗎?看看user表 有可能root權(quán)限不夠
2.localhost換成ip地址的寫法呢?我之前有過localhost換成ip好用的經(jīng)歷。
看來本地?cái)?shù)據(jù)庫是拒絕jdbc連接,需要各種試啊~ 關(guān)注你的解決方案~~
BeanFactory是Spring中IOC容器最核心的接口,遵循了IOC容器中所需的基本接口。例如我們很常見的:ApplicationContext,XmlBeanFactory 等等都使用了BeanFactory這個(gè)接口。
FactoryBean是工廠類接口,當(dāng)你只是想簡單的去構(gòu)造Bean,不希望實(shí)現(xiàn)原有大量的方法。它是一個(gè)Bean,不過這個(gè)Bean能夠做為工廠去創(chuàng)建Bean,同時(shí)還能修飾對象的生成。
總結(jié):FactoryBean比BeanFactory在生產(chǎn)Bean的時(shí)候靈活,還能修飾對象,帶有工廠模式和裝飾模式的設(shè)計(jì)思想在里面,不過它的存在還是以Bean的形式存在。
直接看MyBatis的SqlSessionFactoryBean就明白了
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.george"/>
<property name="typeAliasesSuperType" value="com.george.common.persistence.BaseEntity"/>
<property name="mapperLocations" value="classpath:/mappings/**/**/*.xml"/>
<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
</bean>
Spring會(huì)調(diào)用SqlSessionFactoryBean這個(gè)實(shí)現(xiàn)了FactoryBean的工廠Bean 同時(shí)加載dataSource,Mapper文件的路徑,對sqlSessionFactory進(jìn)行初始化(這里就不貼源碼了 源碼看一下)
BeanFactory因?yàn)槭呛诵慕涌?,編寫?fù)雜邏輯很容易接觸到其他不必要的接口,不好實(shí)現(xiàn)。
如果是FactoryBean就簡單很多,SqlSessionFactoryBean這個(gè)工廠Bean生產(chǎn)不同數(shù)據(jù)源的sqlSessionFactory,同時(shí)加載相應(yīng)的配置信息。
iframe?比如easy UI,ie6都能跑的那種。
1.先建立一個(gè)空的工程A
2.建立第一個(gè)module項(xiàng)目B(web)
3.建立第二個(gè)module項(xiàng)目C(core)
4.建立第三個(gè)module項(xiàng)目D(common)
一、在A頂層項(xiàng)目的pom文件中,寫明包含的模塊
<groupId>com.aa</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- 創(chuàng)建多個(gè)module時(shí)自動(dòng)會(huì)添加進(jìn)來 -->
<modules>
<module>project-common</module>
<module>project-core</module>
<module>project-web</module>
</modules>
<!-- 使用properties方便管理子模塊各版本,配合dependencyManagement使用這樣就可以引入是不必寫明具體版本號(hào),會(huì)從頂層中配置讀取 -->
<properties>
<learn-project.version>1.0.0-SNAPSHOT</learn-project.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.aa</groupId>
<artifactId>project-core</artifactId>
<version>${learn-project.version}</version>
</dependency>
<dependency>
<groupId>com.aa</groupId>
<artifactId>project-web</artifactId>
<version>${learn-project.version}</version>
</dependency>
<dependency>
<groupId>com.aa</groupId>
<artifactId>project-common</artifactId>
<version>${learn-project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
二、在B工程的pom.xml文件中寫入
<parent>
<groupId>com.aa</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>com.aa</groupId>
<artifactId>project-core</artifactId>
</dependency>
</dependencies>
三、在C工程的pom.xml中寫入
<parent>
<groupId>com.aa</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>com.aa</groupId>
<artifactId>project-common</artifactId>
</dependency>
</dependencies>
不存在可以實(shí)例化的一個(gè)JSON類。你能用到的JSON.stringify()也好JSON.parse()也好,都是javascript標(biāo)準(zhǔn)庫里的JSON工具類,而JSON的本體,實(shí)際上是以javascript語法作為基礎(chǔ)的文本字符串,只不過所有語種里的JSON工具類,都有能力將這個(gè)文本字符串解析為符合本語種的數(shù)據(jù)結(jié)構(gòu)而已。因?yàn)镴SON的核心只負(fù)責(zé)“交換”和“數(shù)據(jù)”,交換而來的數(shù)據(jù)是中立的,所以單獨(dú)實(shí)例化沒有意義(它的數(shù)據(jù)要給其它程序直接用的,封裝既浪費(fèi)內(nèi)存又降低效率)。
tableTitleTable:[
{item:"ID",
isChecked:false
},
{item:"講義標(biāo)題",
isChecked:false
},
{item:"所屬教材",
isChecked:false
},
{item:"年級(jí)",
isChecked:false
},
{item:"科目",
isChecked:false
},
{item:"使用次數(shù)",
isChecked:false
},
{item:"來源",
isChecked:false
},
{item:"創(chuàng)建人",
isChecked:false
},
{item:"創(chuàng)建時(shí)間",
isChecked:false
}]
<li v-for="(item,index) in tableTitleTable" :class="{'actived':item.isChecked}"
<input v-model="itemTexAtctived" type="checkbox" @click="changeChecked(index)"/>
changeChecked(index) {
this.tableTitleTable[index].isChecked = !this.tableTitleTable[index].isChecked
}
機(jī)房電腦沒有編譯器,記事本敲得??赡苡悬c(diǎn)錯(cuò)誤,大概思想就是這樣。數(shù)據(jù)里增加一個(gè)isChecked狀態(tài),通過改變這個(gè)狀態(tài)來改變樣式。
RESTful的定義是無狀態(tài),token更符合這一點(diǎn),每次請求都傳遞參數(shù)token,無狀態(tài)的交互形式。
而我們都知道http是無狀態(tài)的,所以每次都要帶上狀態(tài)去請求服務(wù)器也就是 Cookie/SessionID,cookie機(jī)制采用的是在客戶端保持狀態(tài)的方案,而session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案。
可能是你用的getuserinfo 可以查看官網(wǎng)更新文檔!
查詢兩個(gè)或兩個(gè)以上的字段,默認(rèn)情況下,返回list集合,list集合中封裝的是Object[],長度與所查詢的字段數(shù)一致。Return the query results as a List. If the query contains multiple results pre row, the results are returned in an instance of Object[].
后端會(huì)在session里存一個(gè)參數(shù),然后你用表單的post跳轉(zhuǎn)也好,url里帶參數(shù)跳轉(zhuǎn)也好,后端會(huì)在session里驗(yàn)證,所以怎么傳都無所謂。
可以打開證書看的到
在使用私鑰生成證書的時(shí)候,公鑰就會(huì)存在證書里面。
文檔都是英文的,描述也不是很詳細(xì),看起來比較累。用d3吧
如果外部的對象沒有可達(dá)的root引用的話,會(huì)
你的表后面不就是年月么?用PHP先拼接要查詢的表,數(shù)據(jù)出來后匯總即可。還有一種辦法是根據(jù)你水平分表的規(guī)則查詢主表就行了。兩種方法選一種就行
有個(gè)叫廣告聯(lián)盟之類的玩意,只要你用的app加入了,你又用的是手機(jī)號(hào)注冊的,就會(huì)出現(xiàn)這種情況,倒還不至于泄露你的手機(jī)相冊。
你可以卸載掉這些軟件,譬如頭條
先去學(xué)學(xué)json的格式吧,不能用'a'模式一個(gè)一個(gè)寫open('name.json','a'),你追加的方式等于每一行是一個(gè)json,在一起不符合json格式當(dāng)然解析報(bào)錯(cuò)了
import json
def save_name(name):
#print("查無此人,請登記。")
#name = input("\n 請輸入你的名字:") 不要再輸入了,萬一他又輸了一個(gè)已存在的名字,重復(fù)了啊
with open('name.json','w') as file:
json.dump(name,file)
print("你的名字已經(jīng)登記"+str(name[-1]))
return name[-1]
def find_name(fn):
try:
file = open('name.json','r')
except FileNotFoundError:
return save_name([fn])
else:
name = json.load(file)
file.close()
"""for i in name:
if fn == i:
return fn
else: 一次不對就存名字,后面對了你不就錯(cuò)了
return save_name()"""
if fn in name:
return fn
else:
name.append(fn)
return save_name(name)
def hello_name():
name = input("\n 請輸入你的名字:")
print("歡迎你"+str(find_name(name)))
hello_name()function f(arr) {
var ret = []
function fi(result, i) {
if (i === -1) {
ret.push(result)
} else {
let items = arr[i]
if (!Array.isArray(items)) {
items = [items]
}
items.forEach(item => {
fi([item,...result], i - 1)
});
}
}
fi([], arr.length - 1)
return ret
}
const arr = [[1,2],3,[4,5,6]];
console.log(f(arr))0 NO 前后端分離是趨勢,但是也還存在問題(例如SEO,搜索引擎難以識(shí)別等),短時(shí)間內(nèi)不可能取代不分離的
1 主要區(qū)別是,數(shù)據(jù)和表現(xiàn)分離,只需要靜態(tài)的html和動(dòng)態(tài)的接口(例如jsp),數(shù)據(jù)在瀏覽器端實(shí)現(xiàn)動(dòng)態(tài)加載
2 理想情況是,先出文檔(前后端都認(rèn)可),然后后端、前端都按照文檔來,一切以接口規(guī)定的為準(zhǔn)
3 跟端口沒一毛錢關(guān)系,重點(diǎn)在于接口!靠 API 來分離前后端,解決前后端大團(tuán)隊(duì)、多版本、復(fù)雜功能協(xié)作的問題
補(bǔ)充:
可以參考淘寶前端的設(shè)計(jì),在 java 接口和 html 輸出之前用 NodeJS 代理一層,暫時(shí)能解決 SEO 的問題
定義好了接口,前端就可以用不用等后端,直接用模擬的數(shù)據(jù)格式,方便地進(jìn)行前端測試了
說重點(diǎn),API 相比前后端混寫、模板引擎之類的東西的好處:
方便設(shè)計(jì)、開發(fā)、測試(前端不再需要依賴后端,后端也不需要依賴前端,就可以各干各的,獨(dú)立測試代碼)
方便記錄和統(tǒng)計(jì)功能使用(后端相同功能的入口位置統(tǒng)一,不同功能的位置也可以合理有序地組織)
方便修改和版本控制等(后端可以提供多版本的 API,不需要修改已有代碼,不影響已有 API 的功能)
最重點(diǎn)的是:
你的Team要是分工不明確、人少、功能簡單直接、代碼修改不多,就完全不需要分離,就醬。
最明顯的:
前端代碼不用被后端粘貼來粘貼去了,后端的相同代碼,也不需要各種位置粘貼來粘貼去了。
隱藏的好處:
到時(shí)候出了問題,照著 API 設(shè)計(jì)文檔一對比,就知道是前端用的不對,還是后端寫的不對,分分鐘找到背鍋俠。
Update 2017/10/13:
其實(shí)很有一個(gè)很大的優(yōu)勢忘了說……
以后網(wǎng)站的功能,要做Windows、Mac、Android、IOS、Linux的客戶端,或者需要做成批量處理的腳本,或者需要和別的什么系統(tǒng)對接,什么微信公眾號(hào)、小程序之類的,等等等等……
有API在就能瞬間解決問題!就這個(gè)提供給前端的API!一樣的!調(diào)用這個(gè)接口就行了!
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。